diff options
author | Daniel Stenberg <daniel@haxx.se> | 2007-01-16 22:22:10 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2007-01-16 22:22:10 +0000 |
commit | 385e612fa5b7663fc2bc815677b8c27bec2f0fe4 (patch) | |
tree | bc211e48b4e8c57bb90090ab78c885ecab0a5496 /lib/transfer.c | |
parent | 1886388791fc658b55cdd45b3062556fde7a1375 (diff) |
- Armel Asselin improved libcurl to behave a lot better when an easy handle
doing an FTP transfer is removed from a multi handle before completion. The
fix also fixed the "alive counter" to be correct on "premature removal" for
all protocols.
Diffstat (limited to 'lib/transfer.c')
-rw-r--r-- | lib/transfer.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/transfer.c b/lib/transfer.c index ee3c9851c..45117c709 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -2303,7 +2303,7 @@ Curl_connect_host(struct SessionHandle *data, to the new URL */ urlchanged = data->change.url_changed; if ((CURLE_OK == res) && urlchanged) { - res = Curl_done(conn, res); + res = Curl_done(conn, res, FALSE); if(CURLE_OK == res) { char *gotourl = strdup(data->change.url); res = Curl_follow(data, gotourl, FALSE); @@ -2379,7 +2379,7 @@ CURLcode Curl_perform(struct SessionHandle *data) if(data->set.connect_only) { /* keep connection open for application to use the socket */ conn->bits.close = FALSE; - res = Curl_done(&conn, CURLE_OK); + res = Curl_done(&conn, CURLE_OK, FALSE); break; } res = Curl_do(&conn, &do_done); @@ -2412,14 +2412,14 @@ CURLcode Curl_perform(struct SessionHandle *data) /* Always run Curl_done(), even if some of the previous calls failed, but return the previous (original) error code */ - res2 = Curl_done(&conn, res); + res2 = Curl_done(&conn, res, FALSE); if(CURLE_OK == res) res = res2; } else /* Curl_do() failed, clean up left-overs in the done-call */ - res2 = Curl_done(&conn, res); + res2 = Curl_done(&conn, res, FALSE); /* * Important: 'conn' cannot be used here, since it may have been closed |