Dmitry Kurochkin's additional pipelining bugfix
authorDaniel Stenberg <daniel@haxx.se>
Wed, 16 Jan 2008 21:33:52 +0000 (21:33 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 16 Jan 2008 21:33:52 +0000 (21:33 +0000)
lib/multi.c

index 98f35bf..fef632a 100644 (file)
@@ -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 */