Skip to content
Permalink
Browse files

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
  • Loading branch information...
bagder committed Oct 18, 2016
1 parent a34c7ce commit 5c3d8d20a6cf21daef2c265daa840afde9d7de3f
Showing with 8 additions and 0 deletions.
  1. +8 −0 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;
}

0 comments on commit 5c3d8d2

Please sign in to comment.
You can’t perform that action at this time.