diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-09-25 09:59:20 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-09-25 10:24:33 +0200 |
commit | c04223caaf06a8a7c452dba24f0a9ef0ad7f9981 (patch) | |
tree | 3f13cac16dd1fb9ab74c0ba2272ccbda00331cdf | |
parent | fbb0b2a1de9f310be30201e714a38fe41e5699b8 (diff) | |
download | curl-c04223caaf06a8a7c452dba24f0a9ef0ad7f9981.tar.gz |
fixup to instead check the updated keepon bits
-rw-r--r-- | lib/easy.c | 13 |
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); } |