diff options
author | Benoit Foucher <benoit@zeroc.com> | 2016-03-29 17:28:47 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2016-03-29 17:28:47 +0200 |
commit | c79cc493bf60398e40892a1a62835285af3bcbab (patch) | |
tree | 9a5f50c0b552281094b9d16e385c2dbe4ed39524 /cpp/src/IceSSL/OpenSSLTransceiverI.cpp | |
parent | ICE-7047: disabled PrintStackTraces (diff) | |
download | ice-c79cc493bf60398e40892a1a62835285af3bcbab.tar.bz2 ice-c79cc493bf60398e40892a1a62835285af3bcbab.tar.xz ice-c79cc493bf60398e40892a1a62835285af3bcbab.zip |
Fixed ICE-7050: fixed WSS issue where server could stop reading requests
Diffstat (limited to 'cpp/src/IceSSL/OpenSSLTransceiverI.cpp')
-rw-r--r-- | cpp/src/IceSSL/OpenSSLTransceiverI.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp index 7503cc8c9a8..d66c5eb2781 100644 --- a/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +++ b/cpp/src/IceSSL/OpenSSLTransceiverI.cpp @@ -440,7 +440,7 @@ IceSSL::TransceiverI::write(IceInternal::Buffer& buf) } IceInternal::SocketOperation -IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool&) +IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool& hasMoreData) { if(!_stream->isConnected()) { @@ -548,6 +548,11 @@ IceSSL::TransceiverI::read(IceInternal::Buffer& buf, bool&) } } + // + // Check if there's still buffered data to read. In this case, set hasMoreData to true. + // + hasMoreData = SSL_pending(_ssl) > 0; + return IceInternal::SocketOperationNone; } |