diff options
Diffstat (limited to 'lib/multi.c')
-rw-r--r-- | lib/multi.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/multi.c b/lib/multi.c index a095238d5..5595bbd1f 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1429,9 +1429,10 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi, case CURLM_STATE_WAITPERFORM: /* Wait for our turn to PERFORM */ - if(!data->easy_conn->readchannel_inuse && - isHandleAtHead(data, - data->easy_conn->recv_pipe)) { + if((!data->easy_conn->readchannel_inuse && + isHandleAtHead(data, + data->easy_conn->recv_pipe)) || + data->easy_conn->bits.multiplex) { /* Grab the channel */ data->easy_conn->readchannel_inuse = TRUE; multistate(data, CURLM_STATE_PERFORM); |