Commit 544f2f74 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

- Igor filed bug #2111613 (http://curl.haxx.se/bug/view.cgi?id=2111613) that

  eventually identified a flaw in how the multi_socket interface in some cases
  missed to call the timeout callback when easy interfaces are removed and
  added within the same millisecond.
parent 450348d6
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -7,6 +7,11 @@
                                  Changelog

Daniel Stenberg (8 Oct 2008)
- Igor filed bug #2111613 (http://curl.haxx.se/bug/view.cgi?id=2111613) that
  eventually identified a flaw in how the multi_socket interface in some cases
  missed to call the timeout callback when easy interfaces are removed and
  added within the same millisecond.

- Igor Novoseltsev brought a patch that introduced two new options to
  curl_easy_setopt: CURLOPT_USERNAME and CURLOPT_PASSWORD that sort of
  deprecates the good old CURLOPT_USERPWD since they allow applications to set
+1 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ This release includes the following bugfixes:
 o CURLOPT_RANGE now works for SFTP downloads
 o FTP SIZE response 550 now causes CURLE_REMOTE_FILE_NOT_FOUND
 o CURLINFO_PRIMARY_IP fixed for persistent connection re-use cases
 o remove_handle/add_handle multi interface timer callback flaw

This release includes the following known bugs:

+15 −3
Original line number Diff line number Diff line
@@ -532,6 +532,18 @@ CURLMcode curl_multi_add_handle(CURLM *multi_handle,
  /* increase the alive-counter */
  multi->num_alive++;

  /* A somewhat crude work-around for a little glitch in update_timer() that
     happens if the lastcall time is set to the same time when the handle is
     removed as when the next handle is added, as then the check in
     update_timer() that prevents calling the application multiple times with
     the same timer infor will not trigger and then the new handle's timeout
     will not be notified to the app.

     The work-around is thus simply to clear the 'lastcall' variable to force
     update_timer() to always trigger a callback to the app when a new easy
     handle is added */
  memset(&multi->timer_lastcall, 0, sizeof(multi->timer_lastcall));

  update_timer(multi);
  return CURLM_OK;
}