Taylor Blau <me@xxxxxxxxxxxx> writes: > On Tue, Aug 11, 2020 at 07:15:03PM +0200, René Scharfe wrote: >> 2997178ee6 (upload-pack: split check_unreachable() in two, prep for >> get_reachable_list(), 2016-06-12) moved most code of has_unreachable() >> into the new function do_reachable_revlist(). The latter takes care to >> ignore SIGPIPE during its operations, and restores the original signal >> handler before returning. >> >> However, a sigchain_pop(SIGPIPE) call remained in the error handling >> code of has_unreachable(), which does nothing because the stack is >> empty after do_reachable_revlist() cleaned up after itself. Remove it. > > Thanks for noticing. Your analysis seems correct to me after a quick > inspection of the code, so this has my: > > Reviewed-by: Taylor Blau <me@xxxxxxxxxxxx> > >> Signed-off-by: René Scharfe <l.s.r@xxxxxx> >> --- >> upload-pack.c | 1 - >> 1 file changed, 1 deletion(-) Yeah, looks good to me, too. Thanks, both. >> diff --git a/upload-pack.c b/upload-pack.c >> index d087113d23e..1b068da0d26 100644 >> --- a/upload-pack.c >> +++ b/upload-pack.c >> @@ -731,7 +731,6 @@ static int has_unreachable(struct object_array *src, enum allow_uor allow_uor) >> return 0; >> >> error: >> - sigchain_pop(SIGPIPE); >> if (cmd.out >= 0) >> close(cmd.out); >> return 1; >> -- >> 2.28.0 > > Thanks, > Taylor