aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/multiif.h2
-rw-r--r--lib/transfer.c5
2 files changed, 5 insertions, 2 deletions
diff --git a/lib/multiif.h b/lib/multiif.h
index e61c5c6f2..15163da98 100644
--- a/lib/multiif.h
+++ b/lib/multiif.h
@@ -30,6 +30,8 @@
#define MULTI_TIMEOUT_INACCURACY 3000
#endif
+#define MULTI_TIMEOUT_INACCURACY_MS (MULTI_TIMEOUT_INACCURACY / 1000)
+
/*
* Prototypes for library-wide functions provided by multi.c
*/
diff --git a/lib/transfer.c b/lib/transfer.c
index 533e394b6..e3194415b 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -1309,10 +1309,11 @@ CURLcode Curl_pretransfer(struct SessionHandle *data)
Curl_pgrsStartNow(data);
if(data->set.timeout)
- Curl_expire(data, data->set.timeout);
+ Curl_expire(data, data->set.timeout + MULTI_TIMEOUT_INACCURACY_MS);
if(data->set.connecttimeout)
- Curl_expire(data, data->set.connecttimeout);
+ Curl_expire(data, data->set.connecttimeout +
+ MULTI_TIMEOUT_INACCURACY_MS);
/* In case the handle is re-used and an authentication method was picked
in the session we need to make sure we only use the one(s) we now