34 lines
1.0 KiB
Diff
34 lines
1.0 KiB
Diff
From e040146f22608fd92c44be2447a6505141a8a867 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Stenberg <daniel@haxx.se>
|
|
Date: Fri, 6 Mar 2020 10:04:28 +0100
|
|
Subject: [PATCH] pause: force a connection (re-)check after unpausing
|
|
|
|
There might be data available that was already read off the socket, for
|
|
example in the TLS layer.
|
|
|
|
Reported-by: Anders Berg
|
|
Fixes #4966
|
|
Closes #5049
|
|
---
|
|
lib/easy.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/lib/easy.c b/lib/easy.c
|
|
index 33bc1aab7..f7a6d5c60 100644
|
|
--- a/lib/easy.c
|
|
+++ b/lib/easy.c
|
|
@@ -1047,6 +1047,10 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
|
|
if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
|
|
(KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
|
|
Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
|
|
+
|
|
+ /* force a recv/send check of this connection, as the data might've been
|
|
+ read off the socket already */
|
|
+ data->conn->cselect_bits = CURL_CSELECT_IN | CURL_CSELECT_OUT;
|
|
if(data->multi)
|
|
Curl_update_timer(data->multi);
|
|
}
|
|
--
|
|
2.25.1
|
|
|