Skip to content

Commit 3af029c

Browse files
derrickstoleegitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 98a1364 commit 3af029c

File tree

1 file changed

+2
-6
lines changed

1 file changed

+2
-6
lines changed

progress.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -329,13 +329,9 @@ void stop_progress(struct progress **p_progress)
329329
trace2_data_intmax("progress", the_repository,
330330
"total_bytes",
331331
(*p_progress)->throughput->curr_total);
332-
}
333332

334-
trace2_region_leave("progress",
335-
p_progress && *p_progress
336-
? (*p_progress)->title
337-
: NULL,
338-
the_repository);
333+
trace2_region_leave("progress", (*p_progress)->title, the_repository);
334+
}
339335

340336
stop_progress_msg(p_progress, _("done"));
341337
}

0 commit comments

Comments
 (0)