diff options
Diffstat (limited to 'lib/progress.c')
-rw-r--r-- | lib/progress.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/lib/progress.c b/lib/progress.c index 8a8a78f0e..79ba1b59d 100644 --- a/lib/progress.c +++ b/lib/progress.c @@ -124,14 +124,24 @@ void pgrsTime(struct UrlData *data, timerid timer) case TIMER_NONE: /* mistake filter */ break; + case TIMER_STARTSINGLE: + /* This is set at the start of a single fetch, there may be several + fetches within an operation, why we add all other times relative + to this one */ + data->progress.t_startsingle = tvnow(); + break; + case TIMER_NAMELOOKUP: - data->progress.t_nslookup = tvnow(); + data->progress.t_nslookup += tvdiff(tvnow(), + data->progress.t_startsingle); break; case TIMER_CONNECT: - data->progress.t_connect = tvnow(); + data->progress.t_connect += tvdiff(tvnow(), + data->progress.t_startsingle); break; case TIMER_PRETRANSFER: - data->progress.t_pretransfer = tvnow(); + data->progress.t_pretransfer += tvdiff(tvnow(), + data->progress.t_startsingle); break; case TIMER_POSTRANSFER: /* this is the normal end-of-transfer thing */ |