From: Daniel Stenberg Date: Mon, 11 Jan 2010 23:05:35 +0000 (+0000) Subject: After the TCP connect is confirmed in CURLM_STATE_WAITCONNECT and it changes X-Git-Tag: curl-7_20_0~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2158e234aa155bc60bc6f68fe4578f41e72d998a;p=thirdparty%2Fcurl.git After the TCP connect is confirmed in CURLM_STATE_WAITCONNECT and it changes state, we return CURLM_CALL_MULTI_PERFORM unconditionally then so that we can act faster like in the case the protocol-specific connect doesn't block on anything and we can just persue on the next action immediately. It also then avoids a case where curl_multi_fdset() would return -1. --- diff --git a/lib/multi.c b/lib/multi.c index d7381e7faa..5ccadc2a86 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1099,14 +1099,14 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, else #endif multistate(easy, CURLM_STATE_PROTOCONNECT); + } - else { + else /* after the connect has completed, go WAITDO or DO */ multistate(easy, multi->pipelining_enabled? CURLM_STATE_WAITDO:CURLM_STATE_DO); - result = CURLM_CALL_MULTI_PERFORM; - } + result = CURLM_CALL_MULTI_PERFORM; } break;