diff --git a/src/ChangeLog b/src/ChangeLog index 92394c678ea..bfb6e5a87b3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2012-09-12 Eli Zaretskii + + * w32proc.c (sys_kill): If PID is our process ID and the signal is + SIGABRT, call emacs_abort. Avoids silently exiting upon assertion + violation. (Bug#12426) + 2012-09-12 Paul Eggert * image.c (jpeg_memory_src): Don't assume string len fits in unsigned. diff --git a/src/w32proc.c b/src/w32proc.c index b9239cbb99a..74427e76a4f 100644 --- a/src/w32proc.c +++ b/src/w32proc.c @@ -1429,6 +1429,9 @@ 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) {