summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Carey <jcarey@argv.me>2016-06-15 16:25:33 -0400
committerJason Carey <jcarey@argv.me>2016-06-24 17:32:35 -0400
commit59ec7595abf1971122fa21fa7f2c211c3292dbeb (patch)
tree00435648ac4b9043b87d547e7f25ce64d2b1e4a1
parent5e352923ca2c04e85efd4ed65c1448dbb6e15f2d (diff)
downloadmongo-59ec7595abf1971122fa21fa7f2c211c3292dbeb.tar.gz
SERVER-24582 handle errors in asio close
(cherry picked from commit b370d7ef98005a32ae9534a7a4f62fb7539ab85d)
-rw-r--r--src/mongo/executor/async_stream_common.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/executor/async_stream_common.h b/src/mongo/executor/async_stream_common.h
index 059cad53b9f..6f7bd5eff63 100644
--- a/src/mongo/executor/async_stream_common.h
+++ b/src/mongo/executor/async_stream_common.h
@@ -42,9 +42,15 @@ void destroyStream(ASIOStream* stream, bool connected) {
if (!connected) {
return;
}
+
std::error_code ec;
+
stream->shutdown(asio::ip::tcp::socket::shutdown_both, ec);
- stream->close();
+ if (ec) {
+ logCloseFailed(ec);
+ }
+
+ stream->close(ec);
if (ec) {
logCloseFailed(ec);
}