* Running atimers when exiting due to a fatal signal
@ 2012-10-01 10:12 Eli Zaretskii
0 siblings, 0 replies; only message in thread
From: Eli Zaretskii @ 2012-10-01 10:12 UTC (permalink / raw
To: emacs-devel
When we catch a fatal signal, we do this:
terminate_due_to_signal (int sig, int backtrace_limit)
{
signal (sig, SIG_DFL);
totally_unblock_input ();
And totally_unblock_input has a side effect of calling
do_pending_atimers. What is the purpose of running atimers when we
caught a fatal signal? That could result in a nested signal, if some
atimer runs a non-trivial function, couldn't it? If the result is the
same signal as the one we caught, we will then crash without having a
chance to auto-save in shut_down_emacs. If that's a different signal,
we get nested signal handling which complicates debugging, if nothing
else.
So running atimers at that time sounds like a bad idea, IMO.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2012-10-01 10:12 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-01 10:12 Running atimers when exiting due to a fatal signal Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.