[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#832593: apt-listbugs: Ctrl-C is not handled correctly



On Fri, Aug 19, 2016 at 02:14:22PM +0200, Julian Andres Klode wrote:
> On Sat, Aug 13, 2016 at 12:00:06AM +0200, Francesco Poli wrote:
> > On Fri, 12 Aug 2016 00:45:55 +0200 Julian Andres Klode wrote:
> > 
> > > On Fri, Aug 12, 2016 at 12:40:44AM +0200, Francesco Poli wrote:
> > [...]
> > > > Please reply to my question
> > [...]
> > > > 
> > > > In the meanwhile, I am reopening the bug.
> > > 
> > > Yes, sorry, I forgot to take this out of the changelog.
> > 
> > No problem, reopening the bug was easy enough...
> > 
> > > So, basically,
> > > AFAICT, what we should do is ignore the interrupt, because if the child
> > > process exits with any error, we will error out as well. And if a child
> > > exits because of a SIGINT, it's exit code won't be 0.
> > 
> > Well, this sounds reasonable, after all.
> > I haven't been able to find a counterargument, although you have to
> > take into account that I am no expert of signal handling, so I could be
> > wrong...
> > 
> > Please implement the fix soon.
> > Thanks for your time and helpfulness!
> 
> I basically fixed this locally in theory, but in practice
> this does not seem fixable. We invoke our commands with a shell,
> as you might be aware. The signal handling of shells is not portable:
> 
> This means that regardless what apt-listbugs exits with, the dash
> shell it was invoked by will always exit with the SIGINT signal.

I now added a build-time option APT_SHELL; defaulting to /bin/bash,
and a APT config option Dir::Bin::sh, defaulting to the value of
APT_SHELL, that is used instead of /bin/sh.

So things should work now:

https://github.com/Debian/apt/compare/master...julian-klode:bugfix/sigint?expand=1


-- 
Debian Developer - deb.li/jak | jak-linux.org - free software dev

When replying, only quote what is necessary, and write each reply
directly below the part(s) it pertains to (`inline'). Thank you.


Reply to: