On Nov 17, 2014, at 2:23 AM, Richard Biener <richard.guent...@gmail.com> wrote:
> On Sun, Nov 16, 2014 at 2:01 AM, Patrick Palka <patr...@parcs.ath.cx> wrote:
>> Currently the top-level driver handles SIGINT by immediately killing
>> itself even when the driver has subprocesses (e.g. cc1, as) running.  I
>> don't think this is a good idea because
>> 
>>  1. if the top-level driver is waiting on a hanging subprocess,
>>  pressing ^C will kill the driver but it may not necessarily kill the
>>  subprocess; an unresponsive, perhaps busy-looping subprocess may be
>>  running in the background yet the compiler will seem to have to
>>  terminated successfully.

You’d need to describe what unresponsive is and how it got that way.  SIGINT is 
a request that the job stop.  Everything we do from the driver should come down 
reliably and pretty quickly with a SIGINT.  If something doesn’t, tell us what, 
and why, and we can see about fixing that.

>>  2. when debugging gcc with "gcc -wrapper gdb,--args" we are unable to
>>  use ^C from within the GDB subprocess because pressing ^C immediately
>>  kills the driver and we lose our terminal.  This makes debugging more
>>  inconvenient.

If valgrind doesn’t stop with SIGINT, and you want it to, you should file a bug 
report with them.

> This means I can no longer interrupt a compile that is running too long?
> That sounds wrong.

Yeah, I don’t think I favor it as well.

Reply via email to