mirror of
https://github.com/curl/curl.git
synced 2026-07-24 14:57:17 +03:00
transfer: reset retry count on each request
Reported-by: plv1313 on github Fixes #18926 Closes #19066
This commit is contained in:
parent
182a5a9aae
commit
5e46318414
2 changed files with 8 additions and 1 deletions
|
|
@ -1119,7 +1119,6 @@ void curl_easy_reset(CURL *d)
|
|||
|
||||
data->progress.hide = TRUE;
|
||||
data->state.current_speed = -1; /* init to negative == impossible */
|
||||
data->state.retrycount = 0; /* reset the retry counter */
|
||||
data->state.recent_conn_id = -1; /* clear remembered connection id */
|
||||
|
||||
/* zero out authentication data: */
|
||||
|
|
|
|||
|
|
@ -481,6 +481,14 @@ CURLcode Curl_pretransfer(struct Curl_easy *data)
|
|||
{
|
||||
CURLcode result = CURLE_OK;
|
||||
|
||||
/* Reset the retry count at the start of each request.
|
||||
* If the retry count is not reset, when the connection drops,
|
||||
* it will not enter the retry mechanism on CONN_MAX_RETRIES + 1 attempts
|
||||
* and will immediately throw
|
||||
* "Connection died, tried CONN_MAX_RETRIES times before giving up".
|
||||
* By resetting it here, we ensure each new request starts fresh. */
|
||||
data->state.retrycount = 0;
|
||||
|
||||
if(!data->set.str[STRING_SET_URL] && !data->set.uh) {
|
||||
/* we cannot do anything without URL */
|
||||
failf(data, "No URL set");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue