From: Shao Shuchao Date: Mon, 17 Feb 2014 05:44:00 +0000 (+0800) Subject: ConnectionDone: default maxconnects to 4 x number of easy handles X-Git-Tag: curl-7_36_0~132 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2111c2ed0754a3f7849ac85606225579fae6075d;p=thirdparty%2Fcurl.git ConnectionDone: default maxconnects to 4 x number of easy handles ... as documented! --- diff --git a/lib/multi.c b/lib/multi.c index b3b5716128..02d225759f 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -317,6 +317,9 @@ struct Curl_multi *Curl_multi_handle(int hashsize, /* socket hash */ multi->closure_handle->state.conn_cache = multi->conn_cache; multi->max_pipeline_length = 5; + + /* -1 means it not set by user, use the default value */ + multi->maxconnects = -1; return (CURLM *) multi; error: diff --git a/lib/url.c b/lib/url.c index c0aebef16e..4d7508eeed 100644 --- a/lib/url.c +++ b/lib/url.c @@ -3190,7 +3190,8 @@ ConnectionDone(struct SessionHandle *data, struct connectdata *conn) { /* data->multi->maxconnects can be negative, deal with it. */ size_t maxconnects = - (data->multi->maxconnects < 0) ? 0 : data->multi->maxconnects; + (data->multi->maxconnects < 0) ? data->multi->num_easy * 4: + data->multi->maxconnects; struct connectdata *conn_candidate = NULL; /* Mark the current connection as 'unused' */