Message ID | 29ac165c-8458-9bb1-7e59-e7c2c68a9f2a@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | upload-pack: remove superfluous sigchain_pop() call | expand |
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@ttaylorr.com> > Signed-off-by: René Scharfe <l.s.r@web.de> > --- > upload-pack.c | 1 - > 1 file changed, 1 deletion(-) > > 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
Taylor Blau <me@ttaylorr.com> 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@ttaylorr.com> > >> Signed-off-by: René Scharfe <l.s.r@web.de> >> --- >> 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
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;
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. Signed-off-by: René Scharfe <l.s.r@web.de> --- upload-pack.c | 1 - 1 file changed, 1 deletion(-) -- 2.28.0