]> granicus.if.org Git - curl/commitdiff
- When trying to repeat a multi interface problem I fell over a few multi
authorDaniel Stenberg <daniel@haxx.se>
Mon, 19 May 2008 20:58:12 +0000 (20:58 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Mon, 19 May 2008 20:58:12 +0000 (20:58 +0000)
  interface problems:

  o with pipelining disabled, the state should never be set to WAITDO but
    rather go straight to DO

  o we had multiple states for which the internal function returned no socket
    at all to wait for, with the effect that libcurl calls the socket callback
    (when curl_multi_socket() is used) with REMOVE prematurely (as it would be
    added again within very shortly)

  o when in DO and DOING states, the HTTP and HTTPS protocol handler functions
    didn't return that the socket should be waited for writing, but instead it
    was treated as if no socket was needing monitoring so again REMOVE was
    called prematurely.

CHANGES
RELEASE-NOTES

diff --git a/CHANGES b/CHANGES
index 9ccb753eda680c88fbce43630e670de1fcb00245..cb53ab53de8da89d56ca4413afe1888a5bba22a8 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,23 @@
                                   Changelog
 
 
+Daniel Stenberg (19 May 2008)
+- When trying to repeat a multi interface problem I fell over a few multi
+  interface problems:
+
+  o with pipelining disabled, the state should never be set to WAITDO but
+    rather go straight to DO
+
+  o we had multiple states for which the internal function returned no socket
+    at all to wait for, with the effect that libcurl calls the socket callback
+    (when curl_multi_socket() is used) with REMOVE prematurely (as it would be
+    added again within very shortly)
+
+  o when in DO and DOING states, the HTTP and HTTPS protocol handler functions
+    didn't return that the socket should be waited for writing, but instead it
+    was treated as if no socket was needing monitoring so again REMOVE was
+    called prematurely.
+
 Daniel Stenberg (13 May 2008)
 - Added test case 556 that uses curl_easy_send() and curl_easy_recv()
 
index cb6496930bb4fb68774e64ffc2bab724fa5cbfac..80f2fb3f11561e0f9e23440ac3d750ae1a20540c 100644 (file)
@@ -35,6 +35,7 @@ This release includes the following bugfixes:
  o krb4 and krb5 ftp segfault
  o multi interface busy loop for CONNECT requests
  o internal time differences now use monotonic time source if available
+ o several curl_multi_socket() fixes
 
 This release includes the following known bugs: