summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-09-25 09:59:20 +0200
committerDaniel Stenberg <daniel@haxx.se>2020-09-25 10:24:33 +0200
commitc04223caaf06a8a7c452dba24f0a9ef0ad7f9981 (patch)
tree3f13cac16dd1fb9ab74c0ba2272ccbda00331cdf
parentfbb0b2a1de9f310be30201e714a38fe41e5699b8 (diff)
downloadcurl-c04223caaf06a8a7c452dba24f0a9ef0ad7f9981.tar.gz
fixup to instead check the updated keepon bits
-rw-r--r--lib/easy.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/easy.c b/lib/easy.c
index 60e2befd7..51c5e2cbc 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -1062,15 +1062,16 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
}
/* if there's no error and we're not pausing both directions, we want
- to have this handle checked soon */
- if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+ to have this handle checked soon
+ NOTE: 'k->keepon' might have gotten updated in the client_write call
+ above */
+ if((k->keepon & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
(KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
- if(!data->state.tempcount)
- /* if not pausing 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;
+ /* 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);
}