summaryrefslogtreecommitdiff
path: root/extra/yassl
diff options
context:
space:
mode:
authorunknown <msvensson@neptunus.(none)>2005-12-20 00:47:50 +0100
committerunknown <msvensson@neptunus.(none)>2005-12-20 00:47:50 +0100
commit28999410c865cf38bbaf107a76bd3c66e7b7b414 (patch)
treeec0c2404250dfd6f904366f00dbeb8688beda09e /extra/yassl
parentd920097af497870f2fca84f059a89a59b77b6e85 (diff)
downloadmariadb-git-28999410c865cf38bbaf107a76bd3c66e7b7b414.tar.gz
Bug #15772 Aborted YaSSL connections force threads into busyloops
- Report error when there is nothing to read after wait. extra/yassl/src/handshake.cpp: Report error if there is nothing to read after a blocking read
Diffstat (limited to 'extra/yassl')
-rw-r--r--extra/yassl/src/handshake.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/extra/yassl/src/handshake.cpp b/extra/yassl/src/handshake.cpp
index 45dfb6fa032..d7df438b8df 100644
--- a/extra/yassl/src/handshake.cpp
+++ b/extra/yassl/src/handshake.cpp
@@ -656,7 +656,11 @@ DoProcessReply(SSL& ssl, mySTL::auto_ptr<input_buffer> buffered)
{
ssl.getSocket().wait(); // wait for input if blocking
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
uint buffSz = buffered.get() ? buffered.get()->get_size() : 0;