aboutsummaryrefslogtreecommitdiff
path: root/lib/multi.c
AgeCommit message (Collapse)Author
2005-01-11Renamed easy.h and multi.h to easyif.h and multiif.h to make sure they don'tDaniel Stenberg
shadow our public headers with the former names.
2005-01-11Cyrill Osterwalder posted a detailed analysis about a bug that occurs whenDaniel Stenberg
using a custom Host: header and curl fails to send a request on a re-used persistent connection and thus creates a new connection and resends it. It then sent two Host: headers. Cyrill's analysis was posted here: http://curl.haxx.se/mail/archive-2005-01/0022.html
2005-01-10Use Curl_easy_addmulti() to clear associations from easy handles to multiDaniel Stenberg
handles. Include multi.h to get proto.
2005-01-10Pavel Orehov reported memory problems with the multi interface in bug reportDaniel Stenberg
#1098843. In short, a shared DNS cache was setup for a multi handle and when the shared cache was deleted before the individual easy handles, the latter cleanups caused read/writes to already freed memory.
2004-08-31fix the return code for curl_multi_add_handle()Daniel Stenberg
2004-06-29First attempt at making the multi interface work when connecting to a hostDaniel Stenberg
that resolves to multiple IP addresses.
2004-05-17new Curl_done() protoDaniel Stenberg
2004-05-17better bailing out on memory failureDaniel Stenberg
2004-05-17bail out nicely if strdup() returns NULL, removed trailing whitespaceDaniel Stenberg
2004-05-13return on memory alloc failDaniel Stenberg
2004-05-12Curl_done() and the protocol-specific conn->curl_done() functions now allDaniel Stenberg
take a CURLcode as a second argument, that is non-zero when Curl_done() is called after an error was returned from Curl_do() (or similar).
2004-05-11curl_global_init_mem() allows the memory functions to be replaced.Daniel Stenberg
memory.h is included everywhere for this.
2004-04-26Major hostip.c cleanup and split into multiple files and easier #ifdefDaniel Stenberg
usage.
2004-03-30adjusted to the new dns cache function to hide more hostip internalsDaniel Stenberg
2004-03-30init the dns pointer to NULL for clarityDaniel Stenberg
2004-03-11Gisle Vanem's fixes to use CURL_SOCKET_BAD more instead of -1 for sockets.Daniel Stenberg
2004-03-10curl_socket_t mistakes cleanupDaniel Stenberg
2004-03-09Use curl_socket_t instead of int for holding sockets. The typedefs andDaniel Stenberg
defines are in setup.h.
2004-03-04When following to a new URL, we must make sure to call Curl_done() first,Daniel Stenberg
since the current connection must be taken care of properly before we move on. Christopher R. Palmer reported a problem he found due to this mistake.
2004-02-05compiler warning fix, compare struct pointers of the same typeDaniel Stenberg
2004-01-12Peter Sylvester brought code that now allows a callback to modified the URLDaniel Stenberg
even when the multi interface is used, and then libcurl will simulate a "follow location" to that new URL. Test 509 was added to test this feature.
2004-01-07updated year in the copyright stringDaniel Stenberg
2003-11-24FTPS support added as RFC2228 and the murray-ftp-auth-ssl draft describe itDaniel Stenberg
2003-10-18minor fix to not shadow a variableDaniel Stenberg
2003-10-13Clear the connection pointer after the async resolve has failed.Daniel Stenberg
This cures the problem reported by Giuseppe Attardi on October 12, 2003.
2003-10-04Based on a patch provided by Siddhartha Prakash Jain. In Curl_resolv() whenDaniel Stenberg
my_getaddrinfo() has been called (and wait has been set to TRUE), we check if the name already is resolved and if so don't return wait status to the parent. This can happen with IP-only names.
2003-09-21failing to resolve a name using ares must Curl_disconnect() the handleDaniel Stenberg
properly or risk getting into trouble!
2003-09-11For easy handles within multi handles, we share the DNS cache always.Daniel Stenberg
2003-08-20made curl_multi_info_read() set 'msgs_in_queue' to 0 even when it returnsDaniel Stenberg
NULL!
2003-08-05ares awareness/usage/support added. If configure --enable-ares is used, weDaniel Stenberg
build libcurl to use ares for asynch name resolves.
2003-07-15Dan Winship's fix to make the new auth stuff such as NTLM to work withDaniel Stenberg
the multi interface
2003-06-26use CURLDEBUG instead of MALLOCDEBUG for preprocessor conditionsDaniel Stenberg
2003-06-13Marty Kuhrt's #include fixes for VMSDaniel Stenberg
2003-04-29 Peter Kovacs provided a patch that makes the CURLINFO_CONNECT_TIME work fineDaniel Stenberg
when using the multi interface (too).
2003-03-13Philippe Raoult needed this to build on FreeBSDDaniel Stenberg
2003-02-14include <sys/socket.h> to compile the fd_set stuff properly on all systemsDaniel Stenberg
2003-01-29removed the local variables for emacs and vim, use the new sample.emacsDaniel Stenberg
way for emacs, and vim users should provide a similar non-polluting style
2003-01-16copyright year update in the source headerDaniel Stenberg
2002-11-28fix the hash init to call the correct dns cleanup functionDaniel Stenberg
2002-11-11moved the bools in the connectdata struct into the substruct namedDaniel Stenberg
ConnectBits where the other bools already are
2002-10-18return call_multi when we follow a locationDaniel Stenberg
2002-10-07Following locations properly, if told to do so.Daniel Stenberg
2002-09-23properly disconnect failed connectionsDaniel Stenberg
2002-09-03updated source code boilerplate/headerDaniel Stenberg
2002-08-12Initial fix to make the multi interface return control while waiting forDaniel Stenberg
the initial connect to "come through". This should work fine for connect and for FTP-PASV connects. Needs massive testing.
2002-08-05Make SessionHandle keep record if it is used with the multi interface orDaniel Stenberg
the easy interface, it CANNOT be used by a mixture.
2002-06-05Gustaf Hui fixed curl_multi_remove_handle() to prevent a potential crashDaniel Stenberg
2002-05-28 Gustaf Hui provided new code that changes how curl_multi_info_read()Daniel Stenberg
messages are stored, so that they don't have to be kept around for the multi handle's entire life time. He also made it return failure codes properly which it didn't do before. I made the messages only get stored per easy-handle so that they can be independently killed easier without ruining the "master list". It makes the info_read() function slightly less beautiful as it has to scan for messages to return, but it makes removing individual handles a lot easier and less error prone.
2002-05-03fixed return codeDaniel Stenberg
2002-05-02return CURLM_CALL_MULTI_PERFORM in one more case, and check return codeDaniel Stenberg
from malloc()