summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/SslConnectionOpenSSLClient.cpp
diff options
context:
space:
mode:
authorAnthony Neal <aneal@zeroc.com>2002-01-21 21:31:47 +0000
committerAnthony Neal <aneal@zeroc.com>2002-01-21 21:31:47 +0000
commit79709013d412fdc3c341415e510037945ef0b7b0 (patch)
treee45ee28f3c758d339c9d2cc33f1c6896f8d45132 /cpp/src/Ice/SslConnectionOpenSSLClient.cpp
parentFixed memory leak in SslConfig.cpp. (diff)
downloadice-79709013d412fdc3c341415e510037945ef0b7b0.tar.bz2
ice-79709013d412fdc3c341415e510037945ef0b7b0.tar.xz
ice-79709013d412fdc3c341415e510037945ef0b7b0.zip
Fixed (I believe) the spin bug.
Diffstat (limited to 'cpp/src/Ice/SslConnectionOpenSSLClient.cpp')
-rw-r--r--cpp/src/Ice/SslConnectionOpenSSLClient.cpp21
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)