+2012-09-23 Eli Zaretskii <eliz@gnu.org>
+
+ * inc/ms-w32.h (emacs_raise): Redefine to invoke emacs_abort.
+
2012-09-23 Paul Eggert <eggert@cs.ucla.edu>
Simplify and avoid signal-handling races (Bug#12471).
#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
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
+2012-09-23 Eli Zaretskii <eliz@gnu.org>
+
+ * .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 <lekktu@gmail.com>
* w32term.c (w32_read_socket): Remove leftover reference to
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)
{