diff options
author | Anthony Neal <aneal@zeroc.com> | 2002-01-08 21:20:38 +0000 |
---|---|---|
committer | Anthony Neal <aneal@zeroc.com> | 2002-01-08 21:20:38 +0000 |
commit | 419ef29b34a5f1463634c5a6677f3655b56754ee (patch) | |
tree | 89c638a23f38cb6d3bad76d62ab06344d9f4601c /cpp/src/Ice/SslConnectionOpenSSLClient.cpp | |
parent | Fixed a compile bug that I checked in on Friday having to do with inclusion (diff) | |
download | ice-419ef29b34a5f1463634c5a6677f3655b56754ee.tar.bz2 ice-419ef29b34a5f1463634c5a6677f3655b56754ee.tar.xz ice-419ef29b34a5f1463634c5a6677f3655b56754ee.zip |
Have implemented the TimeoutException strategy for dealing with
non-application level data.
Diffstat (limited to 'cpp/src/Ice/SslConnectionOpenSSLClient.cpp')
-rw-r--r-- | cpp/src/Ice/SslConnectionOpenSSLClient.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/cpp/src/Ice/SslConnectionOpenSSLClient.cpp b/cpp/src/Ice/SslConnectionOpenSSLClient.cpp index 88a1fc0547b..093854fb46d 100644 --- a/cpp/src/Ice/SslConnectionOpenSSLClient.cpp +++ b/cpp/src/Ice/SslConnectionOpenSSLClient.cpp @@ -259,19 +259,15 @@ IceSecurity::Ssl::OpenSSL::ClientConnection::write(Buffer& buf, int timeout) } #endif + int initReturn = 0; + // We keep reading until we're done while (buf.i != buf.b.end()) { // Ensure we're initialized. - int initReturn = initialize(timeout); - - if (initReturn == -1) - { - // Handshake underway, we should just return with what we've got (even if that's nothing). - break; - } + initReturn = initialize(timeout); - if (initReturn == 0) + if (initReturn <= 0) { // Retry the initialize call continue; |