- 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:
Daniel Stenberg
2007-01-16 22:22:10 +00:00
parent 1886388791
commit 385e612fa5
19 changed files with 75 additions and 49 deletions

View File

@@ -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 */