diff options
author | Daniel Stenberg <daniel@haxx.se> | 2010-01-11 23:05:35 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2010-01-11 23:05:35 +0000 |
commit | 2158e234aa155bc60bc6f68fe4578f41e72d998a (patch) | |
tree | 0e2a0a16ab04846e0934b29be7c4a79ec1ace1e4 | |
parent | cb348a5b1f7e783623f399b3e102a14a8b7b6031 (diff) |
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.
-rw-r--r-- | lib/multi.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/multi.c b/lib/multi.c index d7381e7fa..5ccadc2a8 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; |