Thread (10 messages) flat view 10 messages, 3 authors, 2021-06-07

Re: [PATCH 1/2] read-cache.c: don't guard calls to progress.c API

From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2021-06-07 15:59:07

On Mon, Jun 07 2021, Derrick Stolee wrote:
On 6/7/2021 10:43 AM, Ævar Arnfjörð Bjarmason wrote:
quoted
Don't guard the calls to the progress.c API with "if (progress)". The
API itself will check this. This doesn't change any behavior, but
makes this code consistent with the rest of the codebase.
Since stop_progress() closes a trace2 region, this actually
does make a change in behavior, I think. In a good way.
I don't see the behavior change.

Yes start_delayed_progress() will call start_progress_delay() which
mallocs and enters the trace2 region, and then if you don't call
stop_progress() at all you won't leave it.

But in read-cache.c both before & after my change we only malloc & only
enter the region if we're actually displaying the progress, there's an
isatty() guard on it.

Once we start that progress bar we will leave the trace2 region, via
stop_progress(), but note that stop_progress() will exit early if the
pointer you dereference is NULL and not do that, and since we'll have
"*progress = NULL" in the case of not wanting the progress bar we won't
leave the region we didn't enter in the first place.

The change here is just to remove the needless nano-optimization of
guarding the calls with a NULL check of "progress", which the API itself
does, no?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help