[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 51d475a: Avoid endless loop when handling fatal sig
From: |
Jan D. |
Subject: |
[Emacs-diffs] master 51d475a: Avoid endless loop when handling fatal signal. |
Date: |
Fri, 20 Feb 2015 07:46:53 +0000 |
branch: master
commit 51d475a8d8a07e0edec92addd4bf96eb1be23b48
Author: Jan Djärv <address@hidden>
Commit: Jan Djärv <address@hidden>
Avoid endless loop when handling fatal signal.
* src/emacs.c (terminate_due_to_signal): Move totally_unblock_input after
setting fatal_error_in_progress, so gobble_input and *read_socket are
not read if there are pending_signals.
---
src/ChangeLog | 6 ++++++
src/emacs.c | 2 +-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 1126dde..dc33e41 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-20 Jan Djärv <address@hidden>
+
+ * emacs.c (terminate_due_to_signal): Move totally_unblock_input after
+ setting fatal_error_in_progress, so gobble_input and *read_socket are
+ not read if there are pending_signals.
+
2015-02-20 Paul Eggert <address@hidden>
Simplify binary I/O configuration
diff --git a/src/emacs.c b/src/emacs.c
index f933eb1..5905799 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -345,13 +345,13 @@ _Noreturn void
terminate_due_to_signal (int sig, int backtrace_limit)
{
signal (sig, SIG_DFL);
- totally_unblock_input ();
/* If fatal error occurs in code below, avoid infinite recursion. */
if (! fatal_error_in_progress)
{
fatal_error_in_progress = 1;
+ totally_unblock_input ();
if (sig == SIGTERM || sig == SIGHUP || sig == SIGINT)
Fkill_emacs (make_number (sig));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 51d475a: Avoid endless loop when handling fatal signal.,
Jan D. <=