diff options
author | Daniel Stenberg <daniel@haxx.se> | 2020-09-05 17:04:03 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-09-05 23:59:48 +0200 |
commit | e4e725f8355b925eae7ae6ba1ead4fe17b5650f3 (patch) | |
tree | 932adb6a71f9b5b214be2ffbe7af0dc23719dab2 /src | |
parent | bbf8cae44dedc495e6e71ceecf804a60e71d0431 (diff) | |
download | curl-e4e725f8355b925eae7ae6ba1ead4fe17b5650f3.tar.gz |
curl:parallel_transfers: make sure retry readds the transfer
Reported-by: htasta on github
Fixes #5905
Closes #5917
Diffstat (limited to 'src')
-rw-r--r-- | src/tool_operate.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c index 39200dcd2..7b6d91241 100644 --- a/src/tool_operate.c +++ b/src/tool_operate.c @@ -2235,12 +2235,13 @@ static CURLcode parallel_transfers(struct GlobalConfig *global, curl_multi_remove_handle(multi, easy); result = post_per_transfer(global, ended, result, &retry); - if(retry) - continue; progress_finalize(ended); /* before it goes away */ all_added--; /* one fewer added */ removed = TRUE; - (void)del_per_transfer(ended); + if(retry) + ended->added = FALSE; /* add it again */ + else + (void)del_per_transfer(ended); } } while(msg); if(removed) { |