diff options
author | Benoit Foucher <benoit@zeroc.com> | 2016-03-31 08:38:29 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2016-03-31 08:38:29 +0200 |
commit | 04c83affba981565fcca3b3bfa2a3d96ca331c81 (patch) | |
tree | 8cf749969ff9209645130bb8e4433d837c77c6d6 /cpp/src/IceSSL/OpenSSLTransceiverI.cpp | |
parent | Merge remote-tracking branch 'origin/3.6' (diff) | |
parent | Fixed Glacier2 bug which would cause hang on shutdown (diff) | |
download | ice-04c83affba981565fcca3b3bfa2a3d96ca331c81.tar.bz2 ice-04c83affba981565fcca3b3bfa2a3d96ca331c81.tar.xz ice-04c83affba981565fcca3b3bfa2a3d96ca331c81.zip |
Merge remote-tracking branch 'origin/3.6'
Diffstat (limited to 'cpp/src/IceSSL/OpenSSLTransceiverI.cpp')
-rw-r--r-- | cpp/src/IceSSL/OpenSSLTransceiverI.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp index 99248a74a2d..2178c292ea0 100644 --- a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +++ b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp @@ -466,6 +466,8 @@ IceSSL::TransceiverI::read(IceInternal::Buffer& buf) return IceInternal::SocketOperationNone; } + _stream->ready(IceInternal::SocketOperationRead, false); + // // It's impossible for packetSize to be more than an Int. // @@ -555,6 +557,11 @@ IceSSL::TransceiverI::read(IceInternal::Buffer& buf) } } + // + // Check if there's still buffered data to read, set the read ready status. + // + _stream->ready(IceInternal::SocketOperationRead, SSL_pending(_ssl) > 0); + return IceInternal::SocketOperationNone; } |