aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2005-02-08 07:36:57 +0000
committerDaniel Stenberg <daniel@haxx.se>2005-02-08 07:36:57 +0000
commite36fb1ecda1782204dbd352f7e2e836c019dd3e3 (patch)
tree1de6967786d6ae262cad455f08df27f4a20b8eb5
parente4a1788614aed581f03b54cd421ab949aac3b37d (diff)
Curl_wait_for_resolv() no longer disconnects on failure, but leaves that
operation to the caller. Disconnecting has the disadvantage that the conn pointer gets completely invalidated and this is not handled on lots of places in the code.
-rw-r--r--lib/hostares.c2
-rw-r--r--lib/transfer.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/hostares.c b/lib/hostares.c
index 48d62115e..a54e25eda 100644
--- a/lib/hostares.c
+++ b/lib/hostares.c
@@ -249,7 +249,7 @@ CURLcode Curl_wait_for_resolv(struct connectdata *conn,
/* close the connection, since we can't return failure here without
cleaning up this connection properly */
- Curl_disconnect(conn);
+ conn->bits.close = TRUE;
}
return rc;
diff --git a/lib/transfer.c b/lib/transfer.c
index bf67842a1..ea7c5dbe3 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -2038,6 +2038,8 @@ Curl_connect_host(struct SessionHandle *data,
if(CURLE_OK == res)
/* Resolved, continue with the connection */
res = Curl_async_resolved(*conn);
+ else
+ (void)Curl_disconnect(*conn);
}
if(res)
break;