]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
Gisle cleaned up remaining host resolve re-org issues
authorDaniel Stenberg <daniel@haxx.se>
Thu, 24 Jun 2004 14:39:52 +0000 (14:39 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 24 Jun 2004 14:39:52 +0000 (14:39 +0000)
lib/hostasyn.c
lib/hostip.h
lib/hostip6.c
lib/hostthre.c

index da072a043114621f3717cf60c98ba9b6537e0bb3..2bf5a580a8324eacc9617b85b1a54c2e8c38d132 100644 (file)
@@ -96,8 +96,8 @@
  **********************************************************************/
 #ifdef CURLRES_ASYNCH
 /*
- * Curl_addrinfo_callback() gets called by ares/gethostbyname_thread() when we
- * got the name resolved (or not!).
+ * addrinfo_callback() gets called by ares, gethostbyname_thread() or
+ * getaddrinfo_thread() when we got the name resolved (or not!).
  *
  * If the status argument is CURL_ASYNC_SUCCESS, we might need to copy the
  * address field since it might be freed when this function returns. This
@@ -161,9 +161,9 @@ void Curl_addrinfo4_callback(void *arg, /* "struct connectdata *" */
 #ifdef CURLRES_IPV6
 void Curl_addrinfo6_callback(void *arg, /* "struct connectdata *" */
                              int status,
-                             struct addrinfo *hostent)
+                             struct addrinfo *ai)
 {
-  addrinfo_callback(arg, status, hostent);
+  addrinfo_callback(arg, status, ai);
 }
 #endif
 
index 9eb1bf05502a88917186b36c6d7e53b4a969f3a1..ea9d0803c1fe70cdce4d06baddf28624805ff6fa 100644 (file)
@@ -206,7 +206,7 @@ void Curl_addrinfo4_callback(void *arg,
    resolve, ipv6 */
 void Curl_addrinfo6_callback(void *arg,
                             int status,
-                            struct hostent *hostent);
+                            struct addrinfo *ai);
 
 
 /* [ipv4 only] Creates a Curl_addrinfo struct from a numerical-only IP
index 55e2736233c37311dca800c7a07003fc4351438a..7b0091d4c69a497c861aee3e634063e18c7d4a96 100644 (file)
@@ -111,8 +111,9 @@ void Curl_freeaddrinfo(Curl_addrinfo *p)
  * address. But this is an ipv6 build and then we don't copy the address, we
  * just return the same pointer!
  */
-Curl_addrinfo *Curl_addrinfo_copy(Curl_addrinfo *source)
+Curl_addrinfo *Curl_addrinfo_copy(void *source, int port)
 {
+  (void) port;
   return source;
 }
 #endif
index be8ab20a8d9dd22efbbd55759fc6e25edc463e92..6ab07063800b0a914cd5dd8ecab75f180d39d2e2 100644 (file)
@@ -163,7 +163,7 @@ struct thread_data {
 
 #if defined(CURLRES_IPV4)
 /*
- * gethostbyname_thread() resolves a name, calls the Curl_addrinfo_callback
+ * gethostbyname_thread() resolves a name, calls the Curl_addrinfo4_callback
  * and then exits.
  *
  * For builds without ARES/ENABLE_IPV6, create a resolver thread and wait on
@@ -201,7 +201,7 @@ static unsigned __stdcall gethostbyname_thread (void *arg)
 #elif defined(CURLRES_IPV6)
 
 /*
- * getaddrinfo_thread() resolves a name, calls Curl_addrinfo_callback and then
+ * getaddrinfo_thread() resolves a name, calls Curl_addrinfo6_callback and then
  * exits.
  *
  * For builds without ARES, but with ENABLE_IPV6, create a resolver thread
@@ -227,10 +227,10 @@ static unsigned __stdcall getaddrinfo_thread (void *arg)
 #ifdef DEBUG_THREADING_GETADDRINFO
     dump_addrinfo (conn, res);
 #endif
-    Curl_addrinfo_callback(conn, CURL_ASYNC_SUCCESS, res);
+    Curl_addrinfo6_callback(conn, CURL_ASYNC_SUCCESS, res);
   }
   else {
-    Curl_addrinfo_callback(conn, (int)WSAGetLastError(), NULL);
+    Curl_addrinfo6_callback(conn, (int)WSAGetLastError(), NULL);
     TRACE(("Winsock-error %d, no address\n", conn->async.status));
   }
   return (rc);
@@ -345,7 +345,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn,
   status = WaitForSingleObject(td->thread_hnd, 1000UL*timeout);
   if (status == WAIT_OBJECT_0 || status == WAIT_ABANDONED) {
      /* Thread finished before timeout; propagate Winsock error to this thread.
-      * 'conn->async.done = TRUE' is set in Curl_addrinfo_callback().
+      * 'conn->async.done = TRUE' is set in Curl_addrinfo4/6_callback().
       */
      WSASetLastError(conn->async.status);
      GetExitCodeThread(td->thread_hnd, &td->thread_status);