Subject: Re: [PATCH] http.c: clear the 'finished' member once we are done with it

From: Junio C Hamano <[email-masked]>
Date: Tue, 24 May 2022 15:16:56 -0700

Carlo Marcelo Arenas Belón <[email-masked]> writes:

> My guess is that there is a curl version somewhere that is patched to use
> threads more extensible than upstream and where this code is stil needed.
> I think it is also safe to assume (like you did) that this is a 16 year bug
> that was already fixed and reverting that code would be an alternative too.

Sorry, but this does not make any sense to me.

It wasn't like we were working around somebody else's bug 16 years
ago.  Reverting the bugfix we made 16 years ago will make the issue
fixed 16 years ago to reappear.

Also, even if your version of curl library uses multi-threading
internally, it cannot magically make _our_ calls into curl library
to be multi-threaded, letting a control flow that came from
run_active_slot() down to another recursive invocation of
run_active_slot() to spin there calling curl_multi_perform()
repeatedly, while returning the control to the outer
run_active_slot() at the same time.  So "a curl version somewhere
that is patched" does not sound like a plausible explanation,
either.