On Sat, 15 Nov 2014, Patrick Palka wrote: > 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.
The subprocess should be in the same process group as the driver, so ^C should send SIGINT to both processes. Is your concern about ^C being pressed at exactly the time when collect2 or lto-wrapper has just called signal (SIGINT, SIG_IGN) in order to find out whether SIGINT was already set to SIG_IGN? If so, the right way to avoid that short period of time when signals are ignored but shouldn't be would I think be to use sigaction to query the existing handler without changing it, when sigaction is available. -- Joseph S. Myers jos...@codesourcery.com