void-packages/srcpkgs/curl/patches/0001-pause-force-a-connecti...

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