summaryrefslogtreecommitdiff
path: root/src/mongo/executor/network_interface_asio.cpp
diff options
context:
space:
mode:
authorsamantharitter <samantha.ritter@10gen.com>2015-10-01 16:45:42 -0400
committersamantharitter <samantha.ritter@10gen.com>2015-11-04 09:57:20 -0500
commita5aecae4e39468fe8d4952f8512b9a34677e2795 (patch)
tree5c349fae47ce4e02ea1419a88d0ef3be11e5697d /src/mongo/executor/network_interface_asio.cpp
parent2af435e3a7f28c0a45c89cff882f2033e2ffd7d5 (diff)
downloadmongo-a5aecae4e39468fe8d4952f8512b9a34677e2795.tar.gz
SERVER-20546 Abort if connections are returned to connection pool in an unknown state
Diffstat (limited to 'src/mongo/executor/network_interface_asio.cpp')
-rw-r--r--src/mongo/executor/network_interface_asio.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/executor/network_interface_asio.cpp b/src/mongo/executor/network_interface_asio.cpp
index 19f38107de6..5f554b4fa94 100644
--- a/src/mongo/executor/network_interface_asio.cpp
+++ b/src/mongo/executor/network_interface_asio.cpp
@@ -205,8 +205,14 @@ void NetworkInterfaceASIO::startCommand(const TaskExecutor::CallbackHandle& cbHa
// If we didn't find the request, we've been canceled
if (eraseCount == 0) {
lk.unlock();
+
onFinish({ErrorCodes::CallbackCanceled, "Callback canceled"});
+
+ // Though we were canceled, we know that the stream is fine, so indicate success.
+ conn->indicateSuccess();
+
signalWorkAvailable();
+
return;
}