diff options
| author | Eli Zaretskii | 2012-09-12 22:14:02 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2012-09-12 22:14:02 +0300 |
| commit | 8099e36b7edde645bfc1a13bfa142ae7645e6bd6 (patch) | |
| tree | 43927068d9cf7b84e00edcbc19c573ff0ec1b810 | |
| parent | 20121a26f0960c6c225ca716bfbc4a33b9ac6289 (diff) | |
| download | emacs-8099e36b7edde645bfc1a13bfa142ae7645e6bd6.tar.gz emacs-8099e36b7edde645bfc1a13bfa142ae7645e6bd6.zip | |
Fix silent exit upon assertion violation on MS-Windows.
src/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)
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/w32proc.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 92394c678ea..bfb6e5a87b3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-09-12 Eli Zaretskii <eliz@gnu.org> | ||
| 2 | |||
| 3 | * w32proc.c (sys_kill): If PID is our process ID and the signal is | ||
| 4 | SIGABRT, call emacs_abort. Avoids silently exiting upon assertion | ||
| 5 | violation. (Bug#12426) | ||
| 6 | |||
| 1 | 2012-09-12 Paul Eggert <eggert@cs.ucla.edu> | 7 | 2012-09-12 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 8 | ||
| 3 | * image.c (jpeg_memory_src): Don't assume string len fits in unsigned. | 9 | * 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) | |||
| 1429 | int need_to_free = 0; | 1429 | int need_to_free = 0; |
| 1430 | int rc = 0; | 1430 | int rc = 0; |
| 1431 | 1431 | ||
| 1432 | if (pid == getpid () && sig == SIGABRT) | ||
| 1433 | emacs_abort (); | ||
| 1434 | |||
| 1432 | /* Only handle signals that will result in the process dying */ | 1435 | /* Only handle signals that will result in the process dying */ |
| 1433 | if (sig != SIGINT && sig != SIGKILL && sig != SIGQUIT && sig != SIGHUP) | 1436 | if (sig != SIGINT && sig != SIGKILL && sig != SIGQUIT && sig != SIGHUP) |
| 1434 | { | 1437 | { |