From: Pip Cet Date: Fri, 29 Apr 2022 12:14:19 +0000 (+0200) Subject: Make timer_check even more resilient X-Git-Tag: emacs-29.0.90~1931^2~218 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fa52782f5c4eaef7138534766dfc8a29465785b2;p=emacs.git Make timer_check even more resilient * src/keyboard.c (timer_check): Inhibit atimers while making the copy of the timer list (bug#21380). This prevents an extremely unlikely segfault. --- diff --git a/src/keyboard.c b/src/keyboard.c index 19c8fdf1dc0..69e741070c4 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -4633,6 +4633,8 @@ timer_check (void) Lisp_Object tem = Vinhibit_quit; Vinhibit_quit = Qt; + block_input (); + turn_on_atimers (false); /* We use copies of the timers' lists to allow a timer to add itself again, without locking up Emacs if the newly added timer is @@ -4646,6 +4648,8 @@ timer_check (void) else idle_timers = Qnil; + turn_on_atimers (true); + unblock_input (); Vinhibit_quit = tem; do