summaryrefslogtreecommitdiff
path: root/cpp/src/IceSSL/SslTransceiver.cpp
diff options
context:
space:
mode:
authorAnthony Neal <aneal@zeroc.com>2003-12-12 16:48:27 +0000
committerAnthony Neal <aneal@zeroc.com>2003-12-12 16:48:27 +0000
commit08c9a04f60fc6dd34c8c1508b0afb603e47d1f36 (patch)
tree17a638307333c15224e59db1446e339d852b5927 /cpp/src/IceSSL/SslTransceiver.cpp
parentfixes (diff)
downloadice-08c9a04f60fc6dd34c8c1508b0afb603e47d1f36.tar.bz2
ice-08c9a04f60fc6dd34c8c1508b0afb603e47d1f36.tar.xz
ice-08c9a04f60fc6dd34c8c1508b0afb603e47d1f36.zip
Modifications made to:
Add additional cleanup processing on Plugin destruction. Add IceSSL.MemoryDebug messages.
Diffstat (limited to 'cpp/src/IceSSL/SslTransceiver.cpp')
-rw-r--r--cpp/src/IceSSL/SslTransceiver.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/SslTransceiver.cpp b/cpp/src/IceSSL/SslTransceiver.cpp
index 1a3970fbaf0..13b3952b308 100644
--- a/cpp/src/IceSSL/SslTransceiver.cpp
+++ b/cpp/src/IceSSL/SslTransceiver.cpp
@@ -54,6 +54,12 @@ IceSSL::SslTransceiver::fd()
void
IceSSL::SslTransceiver::close()
{
+ if(_fd == INVALID_SOCKET)
+ {
+ // Ignore - the connection was never set up.
+ return;
+ }
+
if(_traceLevels->network >= 1)
{
Trace out(_logger, _traceLevels->networkCat);
@@ -315,6 +321,8 @@ IceSSL::SslTransceiver::forceHandshake()
out << "Handshake retry maximum reached.\n" << toString();
}
+ close();
+
// If the handshake fails, the connection failed.
ConnectFailedException ex(__FILE__, __LINE__);
#ifdef _WIN32