prevent persistant connections to do name resolves
authorDaniel Stenberg <daniel@haxx.se>
Thu, 25 Apr 2002 19:18:19 +0000 (19:18 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 25 Apr 2002 19:18:19 +0000 (19:18 +0000)
lib/url.c

index 553c67e74b9c17281055cf35b4ebebb08486668b..06fe51ca54b4142c420a0ee6dfcd9ff21aad4760 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -1308,7 +1308,8 @@ static void verboseconnect(struct connectdata *conn,
   {
     struct in_addr in;
     (void) memcpy(&in.s_addr, &conn->serv_addr.sin_addr, sizeof (in.s_addr));
-    infof(data, "Connected to %s (%s) port %d\n", hostaddr->h_name,
+    infof(data, "Connected to %s (%s) port %d\n",
+          hostaddr?hostaddr->h_name:"[re-used]",
 #if defined(HAVE_INET_NTOA_R)
           inet_ntoa_r(in, ntoa_buf, sizeof(ntoa_buf)),
 #else
@@ -2176,7 +2177,11 @@ static CURLcode CreateConnection(struct SessionHandle *data,
   /*************************************************************
    * Resolve the name of the server or proxy
    *************************************************************/
-  if(!data->change.proxy) {
+  if(conn->bits.reuse) {
+    /* re-used connection, no resolving is necessary */
+    hostaddr = NULL;
+  }
+  else if(!data->change.proxy) {
     /* If not connecting via a proxy, extract the port from the URL, if it is
      * there, thus overriding any defaults that might have been set above. */
     conn->port =  conn->remote_port; /* it is the same port */