multi: move the ending condition into the loop as well

... as it was before I changed the loop in commit e04ccbd50. It caused
test 2030 and 2032 to fail.
This commit is contained in:
Daniel Stenberg 2014-11-18 20:51:54 +01:00
parent 36f7b399de
commit b77ff4d589

View File

@ -956,7 +956,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
data->state.pipe_broke = FALSE; data->state.pipe_broke = FALSE;
data->easy_conn = NULL; data->easy_conn = NULL;
break; continue;
} }
if(!data->easy_conn && if(!data->easy_conn &&
@ -1750,9 +1750,6 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
rc = CURLM_CALL_MULTI_PERFORM; rc = CURLM_CALL_MULTI_PERFORM;
} }
} }
} while(rc == CURLM_CALL_MULTI_PERFORM);
data->result = result;
if(CURLM_STATE_COMPLETED == data->mstate) { if(CURLM_STATE_COMPLETED == data->mstate) {
/* now fill in the Curl_message with this info */ /* now fill in the Curl_message with this info */
@ -1766,6 +1763,10 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
multistate(data, CURLM_STATE_MSGSENT); multistate(data, CURLM_STATE_MSGSENT);
} }
} while(rc == CURLM_CALL_MULTI_PERFORM);
data->result = result;
return rc; return rc;
} }