Follow-up Comment #8, bug #63307 (project make): There may be an even simpler solution than that. There was never any need to ignore SIGPIPE, we just need to make sure temporary files are cleaned up if we get SIGPIPE, it's okay and expected if make dies after that cleanup. There is already a mechanism in place for that for other signals. Re-using that for SIGPIPE works:
--- a/src/main.c +++ b/src/main.c @@ -1182,11 +1182,6 @@ main (int argc, char **argv, char **envp) /* Useful for attaching debuggers, etc. */ SPIN ("main-entry"); - /* Don't die if our stdout sends us SIGPIPE. */ -#ifdef SIGPIPE - bsd_signal (SIGPIPE, SIG_IGN); -#endif - #ifdef HAVE_ATEXIT if (ANY_SET (check_io_state (), IO_STDOUT_OK)) atexit (close_stdout); @@ -1285,6 +1280,8 @@ main (int argc, char **argv, char **envp) FATAL_SIG (SIGXFSZ); #endif + FATAL_SIG (SIGPIPE); + #undef FATAL_SIG /* Do not ignore the child-death signal. This must be done before _______________________________________________________ Reply to this item at: <https://savannah.gnu.org/bugs/?63307> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/