summaryrefslogtreecommitdiff
path: root/src/keyboard.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-10-07 22:13:21 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2013-10-07 22:13:21 -0700
commit18978362d27ab487cafbcba58fb74a2d24eaedc4 (patch)
treed645cad727cde4e7190bef0abdb7ec8d88543a17 /src/keyboard.c
parent3e45e7023ef4e43c4de36e517e47b0429e5d9929 (diff)
downloademacs-18978362d27ab487cafbcba58fb74a2d24eaedc4.tar.gz
Fix race where emacs aborts when sent SIGTERM.
* keyboard.c (unblock_input_to): Don't process pending signals if a fatal error is in progress. Fixes: debbugs:15534
Diffstat (limited to 'src/keyboard.c')
-rw-r--r--src/keyboard.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 05efe7c1312..4bfe47f3332 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -7090,7 +7090,8 @@ process_pending_signals (void)
}
/* Undo any number of BLOCK_INPUT calls down to level LEVEL,
- and also (if the level is now 0) reinvoke any pending signal. */
+ and reinvoke any pending signal if the level is now 0 and
+ a fatal error is not already in progress. */
void
unblock_input_to (int level)
@@ -7098,7 +7099,7 @@ unblock_input_to (int level)
interrupt_input_blocked = level;
if (level == 0)
{
- if (pending_signals)
+ if (pending_signals && !fatal_error_in_progress)
process_pending_signals ();
}
else if (level < 0)