Commit 8090eb09 authored by Jim Blandy's avatar Jim Blandy

* emacs.c (fatal_error_signal): Unblock the signal before we try

	to deliver it to ourselves. #include "syssignal.h" to get the
	right definitions.
parent 2471a281
......@@ -50,6 +50,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "intervals.h"
#include "systty.h"
#include "syssignal.h"
#ifndef O_RDWR
#define O_RDWR 2
......@@ -125,17 +126,21 @@ fatal_error_signal (sig)
signal (sig, SIG_DFL);
/* If fatal error occurs in code below, avoid infinite recursion. */
if (fatal_error_in_progress)
kill (getpid (), fatal_error_code);
fatal_error_in_progress = 1;
if (! fatal_error_in_progress)
{
fatal_error_in_progress = 1;
shut_down_emacs (sig);
shut_down_emacs (sig);
}
#ifdef VMS
LIB$STOP (SS$_ABORT);
#else
/* Signal the same code; this time it will really be fatal. */
/* Signal the same code; this time it will really be fatal.
Remember that since we're in a signal handler, the signal we're
going to send is probably blocked, so we have to unblock it if we
want to really receive it. */
sigblock(SIGEMPTYMASK);
kill (getpid (), fatal_error_code);
#endif /* not VMS */
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment