diff options
Diffstat (limited to 'src/mongo/transport/transport_layer_asio.cpp')
| -rw-r--r-- | src/mongo/transport/transport_layer_asio.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/transport/transport_layer_asio.cpp b/src/mongo/transport/transport_layer_asio.cpp index ca35c4a5337..5e9f8595278 100644 --- a/src/mongo/transport/transport_layer_asio.cpp +++ b/src/mongo/transport/transport_layer_asio.cpp @@ -1476,6 +1476,10 @@ TransportLayerASIO::_createSSLContext(std::shared_ptr<SSLManagerInterface>& mana newSSLContext->ingress->native_handle(), asyncOCSPStaple); if (!resp.isOK()) { + // The stapleOCSPResponse call above may have started a periodic OCSP fetch job + // on a separate thread which keeps a copy of the manager shared pointer. + // This stops that thread so that the transient manager can be destructed. + newSSLContext->manager->stopJobs(); return Status(ErrorCodes::InvalidSSLConfiguration, str::stream() << "Can not staple OCSP Response. Reason: " << resp.reason()); |
