From: Daniel Stenberg Date: Tue, 18 Oct 2016 15:32:01 +0000 (+0200) Subject: curl_multi_add_handle: set timeouts in closure handles X-Git-Tag: curl-7_51_0~76 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5c3d8d20a6cf21daef2c265daa840afde9d7de3f;p=thirdparty%2Fcurl.git curl_multi_add_handle: set timeouts in closure handles The closure handle only ever has default timeouts set. To improve the state somewhat we clone the timeouts from each added handle so that the closure handle always has the same timeouts as the most recently added easy handle. Fixes #739 --- diff --git a/lib/multi.c b/lib/multi.c index 8e4091687f..e81f5aadd6 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -462,6 +462,14 @@ CURLMcode curl_multi_add_handle(struct Curl_multi *multi, handle is added */ memset(&multi->timer_lastcall, 0, sizeof(multi->timer_lastcall)); + /* The closure handle only ever has default timeouts set. To improve the + state somewhat we clone the timeouts from each added handle so that the + closure handle always has the same timeouts as the most recently added + easy handle. */ + multi->closure_handle->set.timeout = data->set.timeout; + multi->closure_handle->set.server_response_timeout = + data->set.server_response_timeout; + update_timer(multi); return CURLM_OK; }