diff options
author | Derrick Stolee <dstolee@microsoft.com> | 2020-05-15 09:09:28 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-05-15 09:41:30 -0700 |
commit | 3af029c484fc72f546078966af538db55933e83d (patch) | |
tree | 1d529ad61afc44e3b578b7a6c13a487867044186 | |
parent | trace2: log progress time and throughput (diff) | |
download | tgif-3af029c484fc72f546078966af538db55933e83d.tar.xz |
progress: call trace2_region_leave() only after calling _enter()
A user of progress API calls start_progress() conditionally and
depends on the display_progress() and stop_progress() functions to
become no-op when start_progress() hasn't been called.
As we added a call to trace2_region_enter() to start_progress(), the
calls to other trace2 API calls from the progress API functions must
make sure that these trace2 calls are skipped when start_progress()
hasn't been called on the progress struct. Specifically, do not
call trace2_region_leave() from stop_progress() when we haven't
called start_progress(), which would have called the matching
trace2_region_enter().
Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r-- | progress.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/progress.c b/progress.c index 6d2dcff0b6..3eda914518 100644 --- a/progress.c +++ b/progress.c @@ -329,13 +329,9 @@ void stop_progress(struct progress **p_progress) trace2_data_intmax("progress", the_repository, "total_bytes", (*p_progress)->throughput->curr_total); - } - trace2_region_leave("progress", - p_progress && *p_progress - ? (*p_progress)->title - : NULL, - the_repository); + trace2_region_leave("progress", (*p_progress)->title, the_repository); + } stop_progress_msg(p_progress, _("done")); } |