bug-make
[Top][All Lists]
Advanced

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

[bug #63307] make 4.4 passes ignored SIGPIPE on to children


From: anonymous
Subject: [bug #63307] make 4.4 passes ignored SIGPIPE on to children
Date: Sun, 6 Nov 2022 06:13:32 -0500 (EST)

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/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]