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.