summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2005-01-18 22:02:10 +0000
committerMark Spruiell <mes@zeroc.com>2005-01-18 22:02:10 +0000
commitb5045a476a3c9fa5ddc32fabf5a5fa4f5fc035de (patch)
tree8bcb62f36a1f25b150ce9139711c8c470ae1a54f /cpp
parentice_ping fixes (diff)
downloadice-b5045a476a3c9fa5ddc32fabf5a5fa4f5fc035de.tar.bz2
ice-b5045a476a3c9fa5ddc32fabf5a5fa4f5fc035de.tar.xz
ice-b5045a476a3c9fa5ddc32fabf5a5fa4f5fc035de.zip
no need to shutdown socket after sending close connection
Diffstat (limited to 'cpp')
-rw-r--r--cpp/src/Ice/ConnectionI.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp
index d9a5b51ff3f..743e6eaa00e 100644
--- a/cpp/src/Ice/ConnectionI.cpp
+++ b/cpp/src/Ice/ConnectionI.cpp
@@ -1712,7 +1712,15 @@ Ice::ConnectionI::initiateShutdown() const
os.i = os.b.begin();
traceHeader("sending close connection", os, _logger, _traceLevels);
_transceiver->write(os, _endpoint->timeout());
- _transceiver->shutdownWrite();
+ //
+ // The CloseConnection message should be sufficient. Closing the write
+ // end of the socket is probably an artifact of how things were done
+ // in IIOP. In fact, shutting down the write end of the socket causes
+ // problems on Windows by preventing the peer from using the socket.
+ // For example, the peer is no longer able to continue writing a large
+ // message after the socket is shutdown.
+ //
+ //_transceiver->shutdownWrite();
}
}