From 5101529e98c333b07d17dc891ba0a2e1669d82ac Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 23 Sep 2012 19:34:30 +0200 Subject: [PATCH] Clean-up left-overs after 2012-09-23T08:44:20Z!eggert@cs.ucla.edu wrt signal handling. src/.gdbinit: Set breakpoint on terminate_due_to_signal, not on fatal_error_backtrace. src/w32proc.c (sys_kill): Undo last change: don't do anything when invoked to deliver SIGABRT to our own process. This is now handled by emacs_raise. nt/inc/ms-w32.h (emacs_raise): Redefine to invoke emacs_abort. Fixes: debbugs:12471 --- nt/ChangeLog | 4 ++++ nt/inc/ms-w32.h | 2 +- src/.gdbinit | 4 ++-- src/ChangeLog | 9 +++++++++ src/w32proc.c | 3 --- 5 files changed, 16 insertions(+), 6 deletions(-) diff --git a/nt/ChangeLog b/nt/ChangeLog index c8aadaee911..9f7b4df2e81 100644 --- a/nt/ChangeLog +++ b/nt/ChangeLog @@ -1,3 +1,7 @@ +2012-09-23 Eli Zaretskii + + * inc/ms-w32.h (emacs_raise): Redefine to invoke emacs_abort. + 2012-09-23 Paul Eggert Simplify and avoid signal-handling races (Bug#12471). diff --git a/nt/inc/ms-w32.h b/nt/inc/ms-w32.h index ff2ba6f4fd1..107ab6e788b 100644 --- a/nt/inc/ms-w32.h +++ b/nt/inc/ms-w32.h @@ -204,7 +204,7 @@ struct sigaction { #define signal sys_signal /* Internal signals. */ -#define emacs_raise(sig) kill (getpid (), sig) +#define emacs_raise(sig) emacs_abort() /* termcap.c calls that are emulated. */ #define tputs sys_tputs diff --git a/src/.gdbinit b/src/.gdbinit index 74f44cc1007..7a6bfb07fed 100644 --- a/src/.gdbinit +++ b/src/.gdbinit @@ -1214,8 +1214,8 @@ show environment DISPLAY show environment TERM # When debugging, it is handy to be able to "return" from -# fatal_error_backtrace when an assertion failure is non-fatal. -break fatal_error_backtrace +# terminate_due_to_signal when an assertion failure is non-fatal. +break terminate_due_to_signal # x_error_quitter is defined only on X. But window-system is set up # only at run time, during Emacs startup, so we need to defer setting diff --git a/src/ChangeLog b/src/ChangeLog index 0329e0c982c..a55a2f5514c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,12 @@ +2012-09-23 Eli Zaretskii + + * .gdbinit: Set breakpoint on terminate_due_to_signal, not on + fatal_error_backtrace. + + * w32proc.c (sys_kill): Undo last change: don't do anything when + invoked to deliver SIGABRT to our own process. This is now + handled by emacs_raise. + 2012-09-23 Juanma Barranquero * w32term.c (w32_read_socket): Remove leftover reference to diff --git a/src/w32proc.c b/src/w32proc.c index 26a0925ad87..8dbd063a96b 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -1428,9 +1428,6 @@ sys_kill (int pid, int sig) int need_to_free = 0; int rc = 0; - if (pid == getpid () && sig == SIGABRT) - emacs_abort (); - /* Only handle signals that will result in the process dying */ if (sig != SIGINT && sig != SIGKILL && sig != SIGQUIT && sig != SIGHUP) { -- 2.11.4.GIT