mirror of https://github.com/moparisthebest/curl
tool_progress: Fix progress meter in parallel mode
Make sure the total amount of DL/UL bytes are counted before the transfer finalizes. Otherwise if a transfer finishes too quick, its total numbers are not added, and results in a DL%/UL% that goes above 100%. Detail: progress_meter() is called periodically, and it may not catch a transfer's total bytes if the value was unknown during the last call, and the transfer is finished and deleted (i.e., lost) during the next call. Closes https://github.com/curl/curl/pull/6840
This commit is contained in:
parent
c1abc6624d
commit
4b4401e26a
|
@ -318,4 +318,12 @@ void progress_finalize(struct per_transfer *per)
|
|||
/* get the numbers before this transfer goes away */
|
||||
all_dlalready += per->dlnow;
|
||||
all_ulalready += per->ulnow;
|
||||
if(!per->dltotal_added) {
|
||||
all_dltotal += per->dltotal;
|
||||
per->dltotal_added = TRUE;
|
||||
}
|
||||
if(!per->ultotal_added) {
|
||||
all_ultotal += per->ultotal;
|
||||
per->ultotal_added = TRUE;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue