mirror of
https://github.com/curl/curl.git
synced 2026-08-25 07:33:36 +03:00
Dmitriy Sergeyev found and fixed a multi interface flaw when using asynch
name resolves. It could get stuck in the wrong state.
This commit is contained in:
parent
c9c8ee3796
commit
d7168a82e2
3 changed files with 14 additions and 3 deletions
|
|
@ -639,8 +639,12 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
|||
is already freed and gone */
|
||||
easy->easy_conn = NULL; /* no more connection */
|
||||
else {
|
||||
/* FIX: what if protocol_connect is TRUE here?! */
|
||||
multistate(easy, CURLM_STATE_WAITCONNECT);
|
||||
/* call again please so that we get the next socket setup */
|
||||
result = CURLM_CALL_MULTI_PERFORM;
|
||||
if(protocol_connect)
|
||||
multistate(easy, CURLM_STATE_DO);
|
||||
else
|
||||
multistate(easy, CURLM_STATE_WAITCONNECT);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue