summaryrefslogtreecommitdiff
path: root/lib/easy.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-12-22 09:54:06 +0100
committerDaniel Stenberg <daniel@haxx.se>2020-12-22 13:51:07 +0100
commitac9a7245fc503a8d46871ab2bf1a7321392b9cda (patch)
treeef0642c63f6b28351d57eba35a06fe08ccb9d2d5 /lib/easy.c
parentc7f95fa0cc252167cb210e1c0ab4f8bbabc1c371 (diff)
downloadcurl-ac9a7245fc503a8d46871ab2bf1a7321392b9cda.tar.gz
speedcheck: exclude paused transfers
Paused transfers should not be stopped due to slow speed even when CURLOPT_LOW_SPEED_LIMIT is set. Additionally, the slow speed timer is now reset when the transfer is unpaused - as otherwise it would easily just trigger immediately after unpausing. Reported-by: Harry Sintonen Fixes #6358 Closes #6359
Diffstat (limited to 'lib/easy.c')
-rw-r--r--lib/easy.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/easy.c b/lib/easy.c
index dc790b01d..311946bdf 100644
--- a/lib/easy.c
+++ b/lib/easy.c
@@ -1080,6 +1080,9 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
(KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
+ /* reset the too-slow time keeper */
+ data->state.keeps_speed.tv_sec = 0;
+
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 */