diff options
Diffstat (limited to 'cpp/src/Ice/SslConnectionOpenSSLClient.cpp')
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLClient.cpp | 21 |
1 files changed, 4 insertions, 17 deletions
diff --git a/cpp/src/Ice/SslConnectionOpenSSLClient.cpp b/cpp/src/Ice/SslConnectionOpenSSLClient.cpp index 093854fb46d..aae7c7ddcf7 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLClient.cpp +++ b/cpp/src/Ice/SslConnectionOpenSSLClient.cpp @@ -57,11 +57,6 @@ IceSecurity::Ssl::OpenSSL::ClientConnection::init(int timeout) { ICE_METHOD_INV("OpenSSL::ClientConnection::init()"); - if (_timeoutEncountered) - { - throw TimeoutException(__FILE__, __LINE__); - } - int retCode = SSL_is_init_finished(_sslConnection); while (!retCode) @@ -70,21 +65,13 @@ IceSecurity::Ssl::OpenSSL::ClientConnection::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) |