- Christopher Palow fixed a curl_multi_socket() issue which previous caused

libcurl to not tell the app properly when a socket was closed (when the name
  resolve done by c-ares is done) and then immediately re-created and put to
  use again (for the actual connection). Since the closure will make the
  "watch status" get lost in several event-based systems libcurl will need to
  tell the app about this close/re-create case.
This commit is contained in:
Daniel Stenberg
2008-06-19 21:32:51 +00:00
parent fb2e71b9bd
commit d09b6ecaa5
3 changed files with 14 additions and 1 deletions

View File

@@ -965,6 +965,11 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
easy->result = Curl_is_resolved(easy->easy_conn, &dns);
if(dns) {
/* Update sockets here. Mainly because the socket(s) may have been
closed and the application thus needs to be told, even if it is
likely that the same socket(s) will again be used further down. */
singlesocket(multi, easy);
/* Perform the next step in the connection phase, and then move on
to the WAITCONNECT state */
easy->result = Curl_async_resolved(easy->easy_conn,