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.
This commit is contained in:
Daniel Stenberg 2010-01-11 23:05:35 +00:00
parent cb348a5b1f
commit 2158e234aa

View File

@ -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;