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:
parent
36f7b399de
commit
b77ff4d589
27
lib/multi.c
27
lib/multi.c
@ -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,22 +1750,23 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
|||||||
rc = CURLM_CALL_MULTI_PERFORM;
|
rc = CURLM_CALL_MULTI_PERFORM;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(CURLM_STATE_COMPLETED == data->mstate) {
|
||||||
|
/* now fill in the Curl_message with this info */
|
||||||
|
msg = &data->msg;
|
||||||
|
|
||||||
|
msg->extmsg.msg = CURLMSG_DONE;
|
||||||
|
msg->extmsg.easy_handle = data;
|
||||||
|
msg->extmsg.data.result = result;
|
||||||
|
|
||||||
|
rc = multi_addmsg(multi, msg);
|
||||||
|
|
||||||
|
multistate(data, CURLM_STATE_MSGSENT);
|
||||||
|
}
|
||||||
} while(rc == CURLM_CALL_MULTI_PERFORM);
|
} while(rc == CURLM_CALL_MULTI_PERFORM);
|
||||||
|
|
||||||
data->result = result;
|
data->result = result;
|
||||||
|
|
||||||
if(CURLM_STATE_COMPLETED == data->mstate) {
|
|
||||||
/* now fill in the Curl_message with this info */
|
|
||||||
msg = &data->msg;
|
|
||||||
|
|
||||||
msg->extmsg.msg = CURLMSG_DONE;
|
|
||||||
msg->extmsg.easy_handle = data;
|
|
||||||
msg->extmsg.data.result = result;
|
|
||||||
|
|
||||||
rc = multi_addmsg(multi, msg);
|
|
||||||
|
|
||||||
multistate(data, CURLM_STATE_MSGSENT);
|
|
||||||
}
|
|
||||||
|
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user