mirror of
https://github.com/curl/curl.git
synced 2026-08-24 23:23:32 +03:00
- 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.
This commit is contained in:
parent
1886388791
commit
385e612fa5
19 changed files with 75 additions and 49 deletions
|
|
@ -4087,7 +4087,7 @@ CURLcode Curl_async_resolved(struct connectdata *conn,
|
|||
|
||||
|
||||
CURLcode Curl_done(struct connectdata **connp,
|
||||
CURLcode status) /* an error if this is called after an
|
||||
CURLcode status, bool premature) /* an error if this is called after an
|
||||
error was detected */
|
||||
{
|
||||
CURLcode result;
|
||||
|
|
@ -4127,7 +4127,7 @@ CURLcode Curl_done(struct connectdata **connp,
|
|||
|
||||
/* this calls the protocol-specific function pointer previously set */
|
||||
if(conn->curl_done)
|
||||
result = conn->curl_done(conn, status);
|
||||
result = conn->curl_done(conn, status, premature);
|
||||
else
|
||||
result = CURLE_OK;
|
||||
|
||||
|
|
@ -4193,7 +4193,7 @@ CURLcode Curl_do(struct connectdata **connp, bool *done)
|
|||
infof(data, "Re-used connection seems dead, get a new one\n");
|
||||
|
||||
conn->bits.close = TRUE; /* enforce close of this connection */
|
||||
result = Curl_done(&conn, result); /* we are so done with this */
|
||||
result = Curl_done(&conn, result, FALSE); /* we are so done with this */
|
||||
|
||||
/* conn may no longer be a good pointer */
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue