[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r110166: Do not use SA_NODEFER.
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r110166: Do not use SA_NODEFER. |
Date: |
Sun, 23 Sep 2012 10:05:14 -0700 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 110166
committer: Paul Eggert <address@hidden>
branch nick: trunk
timestamp: Sun 2012-09-23 10:05:14 -0700
message:
Do not use SA_NODEFER.
Problem reported by Dani Moncayo in
<http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>.
* alloc.c (die):
* sysdep.c (emacs_abort): Do not reset signal handler.
* emacs.c (terminate_due_to_signal): Reset signal handler here.
* sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't
wanted even on POSIXish hosts, and it doesn't work on Windows.
modified:
src/ChangeLog
src/alloc.c
src/emacs.c
src/sysdep.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-09-23 10:03:35 +0000
+++ b/src/ChangeLog 2012-09-23 17:05:14 +0000
@@ -1,3 +1,14 @@
+2012-09-23 Paul Eggert <address@hidden>
+
+ Do not use SA_NODEFER.
+ Problem reported by Dani Moncayo in
+ <http://lists.gnu.org/archive/html/emacs-devel/2012-09/msg00557.html>.
+ * alloc.c (die):
+ * sysdep.c (emacs_abort): Do not reset signal handler.
+ * emacs.c (terminate_due_to_signal): Reset signal handler here.
+ * sysdep.c (init_signals): Do not use SA_NODEFER. It wasn't
+ wanted even on POSIXish hosts, and it doesn't work on Windows.
+
2012-09-23 Jan Djärv <address@hidden>
* xterm.c (x_term_init): Call fixup_locale before and after calling
=== modified file 'src/alloc.c'
--- a/src/alloc.c 2012-09-23 08:44:20 +0000
+++ b/src/alloc.c 2012-09-23 17:05:14 +0000
@@ -6393,7 +6393,6 @@
void
die (const char *msg, const char *file, int line)
{
- signal (SIGABRT, SIG_DFL);
fprintf (stderr, "\r\n%s:%d: Emacs fatal error: %s\r\n",
file, line, msg);
terminate_due_to_signal (SIGABRT, INT_MAX);
=== modified file 'src/emacs.c'
--- a/src/emacs.c 2012-09-23 08:44:20 +0000
+++ b/src/emacs.c 2012-09-23 17:05:14 +0000
@@ -285,6 +285,7 @@
_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. */
=== modified file 'src/sysdep.c'
--- a/src/sysdep.c 2012-09-23 08:44:20 +0000
+++ b/src/sysdep.c 2012-09-23 17:05:14 +0000
@@ -1763,7 +1763,7 @@
sigfillset (&process_fatal_action.sa_mask);
process_fatal_action.sa_handler = deliver_fatal_signal;
- process_fatal_action.sa_flags = emacs_sigaction_flags () | SA_NODEFER;
+ process_fatal_action.sa_flags = emacs_sigaction_flags ();
sigfillset (&thread_fatal_action.sa_mask);
thread_fatal_action.sa_handler = deliver_fatal_thread_signal;
@@ -2044,7 +2044,6 @@
void
emacs_abort (void)
{
- signal (SIGABRT, SIG_DFL);
terminate_due_to_signal (SIGABRT, 10);
}
#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r110166: Do not use SA_NODEFER.,
Paul Eggert <=