Bug #15772 Aborted YaSSL connections force threads into busyloops

  - Report error when there is nothing to read after wait.
parent f9ef0df0
...@@ -656,7 +656,11 @@ DoProcessReply(SSL& ssl, mySTL::auto_ptr<input_buffer> buffered) ...@@ -656,7 +656,11 @@ DoProcessReply(SSL& ssl, mySTL::auto_ptr<input_buffer> buffered)
{ {
ssl.getSocket().wait(); // wait for input if blocking ssl.getSocket().wait(); // wait for input if blocking
uint ready = ssl.getSocket().get_ready(); uint ready = ssl.getSocket().get_ready();
if (!ready) return buffered; if (!ready) {
// Nothing to receive after blocking wait => error
ssl.SetError(receive_error);
return buffered= null_buffer;
}
// add buffered data if its there // add buffered data if its there
uint buffSz = buffered.get() ? buffered.get()->get_size() : 0; uint buffSz = buffered.get() ? buffered.get()->get_size() : 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment