From fd025b90899a09cb861c67d3aee8a981d8b7af04 Mon Sep 17 00:00:00 2001
From: Roland McGrath <roland@redhat.com>
Date: Wed, 6 Apr 1994 01:17:43 +0000
Subject: [PATCH] (fatal_error_signal): Don't unblock signals.

---
 commands.c | 17 ++++-------------
 1 file changed, 4 insertions(+), 13 deletions(-)

diff --git a/commands.c b/commands.c
index 696ca680..d575b0c3 100644
--- a/commands.c
+++ b/commands.c
@@ -331,18 +331,9 @@ fatal_error_signal (sig)
 {
   handling_fatal_signal = 1;
 
+  /* Set the handling for this signal to the default.
+     It is blocked now while we run this handler.  */
   signal (sig, SIG_DFL);
-#ifdef	POSIX
-  {
-    sigset_t set;
-    sigemptyset (&set);
-    (void) sigprocmask (SIG_SETMASK, &set, (sigset_t *) 0);
-  }
-#else
-#ifdef	HAVE_SIGSETMASK
-  (void) sigsetmask (0);
-#endif
-#endif
 
   /* A termination signal won't be sent to the entire
      process group, but it means we want to kill the children.  */
@@ -390,9 +381,9 @@ fatal_error_signal (sig)
        cause a core dump.  Just exit instead.  */
     exit (1);
 
-  /* Signal the same code; this time it will really be fatal.  */
+  /* Signal the same code; this time it will really be fatal.  The signal
+     will be unblocked when we return and arrive then to kill us.  */
   if (kill (getpid (), sig) < 0)
-    /* It shouldn't return, but if it does, die anyway.  */
     pfatal_with_name ("kill");
 }