summaryrefslogtreecommitdiff
path: root/lib/multi.c
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-02-24 16:32:04 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-02-24 22:56:46 +0100
commitaa7b813ad1bfb4e72e367fb99c61c6e680d5a4b8 (patch)
treec21a6d70e1b019834b9c191f972651baff3f1ce8 /lib/multi.c
parent47e540df8f32c8f7298ab1bc96b0087b5738c257 (diff)
downloadcurl-aa7b813ad1bfb4e72e367fb99c61c6e680d5a4b8.tar.gz
multi: call multi_done on connect timeouts
Failing to do so would make the CURLINFO_TOTAL_TIME timeout to not get updated correctly and could end up getting reported to the application completely wrong (way too small). Reported-by: accountantM on github Fixes #3602 Closes #3605
Diffstat (limited to 'lib/multi.c')
-rw-r--r--lib/multi.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/multi.c b/lib/multi.c
index 521262b2b..06aaed26a 100644
--- a/lib/multi.c
+++ b/lib/multi.c
@@ -1606,7 +1606,8 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
}
else if(result) {
/* failure detected */
- /* Just break, the cleaning up is handled all in one place */
+ Curl_posttransfer(data);
+ multi_done(data, result, TRUE);
stream_error = TRUE;
break;
}