summaryrefslogtreecommitdiff
path: root/src/mongo/transport/transport_layer_asio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/transport/transport_layer_asio.cpp')
-rw-r--r--src/mongo/transport/transport_layer_asio.cpp4
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());