diff options
Diffstat (limited to 'cpp/src/Ice/SslConnectionOpenSSLServer.cpp')
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLServer.cpp | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/cpp/src/Ice/SslConnectionOpenSSLServer.cpp b/cpp/src/Ice/SslConnectionOpenSSLServer.cpp index a2df6549699..78459c55a0b 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLServer.cpp +++ b/cpp/src/Ice/SslConnectionOpenSSLServer.cpp @@ -58,11 +58,6 @@ IceSecurity::Ssl::OpenSSL::ServerConnection::init(int timeout) { ICE_METHOD_INV("OpenSSL::ServerConnection::init()"); - if (_timeoutEncountered) - { - throw TimeoutException(__FILE__, __LINE__); - } - int retCode = SSL_is_init_finished(_sslConnection); while (!retCode) @@ -71,21 +66,13 @@ IceSecurity::Ssl::OpenSSL::ServerConnection::init(int timeout) _readTimeout = timeout > _handshakeReadTimeout ? timeout : _handshakeReadTimeout; - try + if (_initWantRead) { - if (_initWantRead) - { - i = readSelect(_readTimeout); - } - else if (_initWantWrite) - { - i = writeSelect(timeout); - } + i = readSelect(_readTimeout); } - catch (const TimeoutException&) + else if (_initWantWrite) { - _timeoutEncountered = true; - throw; + i = writeSelect(timeout); } if (_initWantRead && i == 0) |