diff --git a/lib/multi.c b/lib/multi.c index 98f35bff5f..fef632adfe 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -944,8 +944,12 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, easy->result = addHandleToSendOrPendPipeline(easy->easy_handle, easy->easy_conn); if(CURLE_OK == easy->result) { - if (easy->easy_handle->state.is_in_pipeline) + if (easy->easy_handle->state.is_in_pipeline) { multistate(easy, CURLM_STATE_WAITDO); + if(isHandleAtHead(easy->easy_handle, + easy->easy_conn->send_pipe)) + result = CURLM_CALL_MULTI_PERFORM; + } else { if(async) /* We're now waiting for an asynchronous name lookup */