Constantine Sapuntzakis d4e6404135 multi: fix condition that remove timers before trigger
curl_multi perform has two phases: run through every easy handle calling
multi_runsingle and remove expired timers (timer removal).

If a small timer (e.g. 1-10ms) is set during multi_runsingle, then it's
possible that the timer has passed by when the timer removal runs. The
timer which was just added is then removed. This will potentially cause
the timer list to be empty and cause the next call to curl_multi_timeout
to return -1. Ideally, curl_multi_timeout should return 0 in this case.

One way to fix this is to move the struct timeval now = Curl_tvnow(); to
the top of curl_multi_perform. The change does that.
2010-07-12 19:19:31 +02:00
2010-03-24 14:07:18 -04:00
2010-03-24 11:02:54 +01:00
2010-03-24 11:02:54 +01:00
2009-07-15 19:40:46 +00:00
2010-03-24 11:02:54 +01:00
2010-03-24 11:02:54 +01:00
2010-03-22 00:41:34 +01:00
2010-02-14 19:40:18 +00:00
2010-03-24 11:02:54 +01:00
2010-02-14 19:40:18 +00:00
2010-03-24 11:02:54 +01:00
2010-03-24 11:02:54 +01:00
2010-03-22 00:34:09 +01:00
2010-06-30 13:12:25 +02:00
2010-03-24 11:02:54 +01:00
2010-03-24 11:20:34 +01:00

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

README

  Curl is a command line tool for transferring data specified with URL
  syntax. Find out how to use curl by reading the curl.1 man page or the
  MANUAL document. Find out how to install Curl by reading the INSTALL
  document.

  libcurl is the library curl is using to do its job. It is readily
  available to be used by your software. Read the libcurl.3 man page to
  learn how!

  You find answers to the most frequent questions we get in the FAQ document.

  Study the COPYING file for distribution terms and similar. If you distribute
  curl binaries or other binaries that involve libcurl, you might enjoy the
  LICENSE-MIXING document.

CONTACT

  If you have problems, questions, ideas or suggestions, please contact us
  by posting to a suitable mailing list. See http://curl.haxx.se/mail/

  All contributors to the project are listed in the THANKS document.

WEB SITE

  Visit the curl web site for the latest news and downloads:

        http://curl.haxx.se/

GIT

  To download the very latest source off the GIT server do this:

    git clone git://github.com/bagder/curl.git

  (you'll get a directory named curl created, filled with the source code)

NOTICE

  Curl contains pieces of source code that is Copyright (c) 1998, 1999
  Kungliga Tekniska Högskolan. This notice is included here to comply with the
  distribution terms.
Description
No description provided
Readme 40 MiB
Languages
C 74.6%
M4 8.4%
Perl 7.1%
DIGITAL Command Language 3.6%
CMake 1.9%
Other 4.3%