aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-10-20 12:25:39 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-10-20 12:25:39 +0000
commitbd5d21aaf23cd20b74ad13e9d8ca16e81a4aea48 (patch)
tree9e54dd759144c4a3bc5229e898f74ab789d377e6
parent19e07771d1709fd1e38bde7a4ed34bc104b01884 (diff)
When a resolve is made on a pipelined connection we need to detect it properly
(when the resoling isn't completede yet) and not confuse it with a simple connection re-use (non-pipelined).
-rw-r--r--lib/url.c2
-rw-r--r--lib/urldata.h3
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/url.c b/lib/url.c
index 4bb4234f7..65453155c 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -3623,7 +3623,7 @@ static CURLcode CreateConnection(struct SessionHandle *data,
conn->connectindex,
conn->bits.httpproxy?conn->proxy.dispname:conn->host.dispname);
#ifdef CURLRES_ASYNCH
- if(!conn->dns_entry) {
+ if(!conn->ip_addr_str) {
infof(data, "... but it is not resolved yet!\n");
*async = TRUE;
}
diff --git a/lib/urldata.h b/lib/urldata.h
index f701fe96c..c1b52dbf7 100644
--- a/lib/urldata.h
+++ b/lib/urldata.h
@@ -684,7 +684,8 @@ struct connectdata {
/* 'dns_entry' is the particular host we use. This points to an entry in the
DNS cache and it will not get pruned while locked. It gets unlocked in
- Curl_done() */
+ Curl_done(). This entry will be NULL if the connection is re-used as then
+ there is no name resolve done. */
struct Curl_dns_entry *dns_entry;
/* 'ip_addr' is the particular IP we connected to. It points to a struct