1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-11 20:15:03 -05:00

multi: close connection on timeout

After a request times out, the connection wasn't properly closed and
prevented to get re-used, so subsequent transfers could still mistakenly
get to use the previously aborted connection.
This commit is contained in:
Mike Crowe 2011-02-18 23:19:14 +01:00 committed by Daniel Stenberg
parent d85cae9225
commit c4369f34b9

View File

@ -1003,6 +1003,11 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
Curl_tvdiff(now, data->progress.t_startsingle), k->bytecount, Curl_tvdiff(now, data->progress.t_startsingle), k->bytecount,
k->size); k->size);
} }
/* Force the connection closed because the server could continue to
send us stuff at any time. (The disconnect_conn logic used below
doesn't work at this point). */
easy->easy_conn->bits.close = TRUE;
easy->result = CURLE_OPERATION_TIMEDOUT; easy->result = CURLE_OPERATION_TIMEDOUT;
multistate(easy, CURLM_STATE_COMPLETED); multistate(easy, CURLM_STATE_COMPLETED);
break; break;