On Fri, Jun 20, 2014 at 05:12:10PM -0400, Andrew Gregory wrote:
> On 06/20/14 at 10:00pm, Silvan Jegen wrote:
> > One of the comments for this function is out of sync with the code.
> > If a SIGHUP is received the code calls the release function only if
> > there is no transaction in flight (contrary to the comments).
> > 
> > This change brings the code in line with the comment (and moves the
> > comment for readability). Additionally, it changes the exit message
> > to reflect the fact that the signal received was either a SIGHUP or
> > a SIGTERM.
> > 
> > Signed-off-by: Silvan Jegen <s.je...@gmail.com>
> > ---
> >  src/pacman/pacman.c | 18 +++++++++---------
> >  1 file changed, 9 insertions(+), 9 deletions(-)
> 
> I think the comment is just a typo.  According to its commit message,
> SIGHUP and SIGINT should be treated the same.  SIGHUP seems like
> a poor reason to kill an active transaction rather than more
> gracefully interrupt it.

I tend to agree.

Should I send a patch to change the comment accordingly (and maybe move
it before the "else if(signum == SIGINT || signum == SIGHUP) {" in the
original code)?

> apg
> 
> > diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
> > index ef86d39..599a141 100644
> > --- a/src/pacman/pacman.c
> > +++ b/src/pacman/pacman.c
> > @@ -301,20 +301,20 @@ static void handler(int signum)
> >                     "Please submit a full bug report with --debug if 
> > appropriate.\n";
> >             xwrite(err, msg, strlen(msg));
> >             exit(signum);
> > -   } else if(signum == SIGINT || signum == SIGHUP) {
> > -           if(signum == SIGINT) {
> > -                   msg = "\nInterrupt signal received\n";
> > -           } else {
> > -                   msg = "\nHangup signal received\n";
> > -           }
> > -           xwrite(err, msg, strlen(msg));
> > +   }
> > +   /* SIGINT: no committing transaction, release it now and then exit 
> > pacman
> > +    * SIGHUP, SIGTERM: release no matter what */
> > +   if(signum == SIGINT) {
> > +           msg = "\nInterrupt signal received\n";
> >             if(alpm_trans_interrupt(config->handle) == 0) {
> >                     /* a transaction is being interrupted, don't exit 
> > pacman yet. */
> >                     return;
> >             }
> > +   } else {
> > +           msg = "\nHangup/Termination signal received\n";
> >     }
> > -   /* SIGINT: no committing transaction, release it now and then exit 
> > pacman
> > -    * SIGHUP, SIGTERM: release no matter what */
> > +
> > +   xwrite(err, msg, strlen(msg));
> >     alpm_trans_release(config->handle);
> >     /* output a newline to be sure we clear any line we may be on */
> >     xwrite(out, "\n", 1);
> > -- 
> > 2.0.0
> 

Reply via email to