diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/src/IceSSL/TransceiverI.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/TransceiverI.cpp b/cpp/src/IceSSL/TransceiverI.cpp index 7265708a17c..52833fdea98 100644 --- a/cpp/src/IceSSL/TransceiverI.cpp +++ b/cpp/src/IceSSL/TransceiverI.cpp @@ -116,6 +116,9 @@ IceSSL::TransceiverI::initialize() if(!_ssl) { BIO_free(bio); +#ifdef ICE_USE_IOCP + BIO_free(_iocpBio); +#endif SecurityException ex(__FILE__, __LINE__); ex.reason = "openssl failure"; throw ex; @@ -300,6 +303,14 @@ IceSSL::TransceiverI::close() _ssl = 0; } +#ifdef ICE_USE_IOCP + if(_iocpBio) + { + BIO_free(_iocpBio); + _iocpBio = 0; + } +#endif + assert(_fd != INVALID_SOCKET); try { |