diff options
Diffstat (limited to 'src/mongo/client/server_ping_monitor.cpp')
-rw-r--r-- | src/mongo/client/server_ping_monitor.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mongo/client/server_ping_monitor.cpp b/src/mongo/client/server_ping_monitor.cpp index 65a8ae90c63..ae3527eb152 100644 --- a/src/mongo/client/server_ping_monitor.cpp +++ b/src/mongo/client/server_ping_monitor.cpp @@ -71,7 +71,9 @@ void SingleServerPingMonitor::init() { void SingleServerPingMonitor::drop() { stdx::lock_guard lk(_mutex); - _isDropped = true; + if (std::exchange(_isDropped, true)) { + return; + } if (auto handle = std::exchange(_pingHandle, {})) { _executor->cancel(handle); } |