From 170c80bed42b58e346befd5b8c6f73a5b9d047b7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Wed, 9 Apr 2008 06:46:02 +0000 Subject: [PATCH] (alarm_signal_handler): Call run_timers if not SYNC_INPUT. Most of the code moved to run_timers. (do_pending_atimers): Call run_timers. (run_timers): New function. --- src/atimer.c | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/src/atimer.c b/src/atimer.c index f5f5f34f16a..fc7aeb01010 100644 --- a/src/atimer.c +++ b/src/atimer.c @@ -355,20 +355,12 @@ schedule_atimer (t) t->next = a; } - -/* Signal handler for SIGALRM. SIGNO is the signal number, i.e. - SIGALRM. */ - -SIGTYPE -alarm_signal_handler (signo) - int signo; +static void +run_timers () { EMACS_TIME now; - SIGNAL_THREAD_CHECK (signo); - EMACS_GET_TIME (now); - pending_atimers = 0; while (atimers && (pending_atimers = interrupt_input_blocked) == 0 @@ -405,6 +397,20 @@ alarm_signal_handler (signo) } +/* Signal handler for SIGALRM. SIGNO is the signal number, i.e. + SIGALRM. */ + +SIGTYPE +alarm_signal_handler (signo) + int signo; +{ + pending_atimers = 1; +#ifndef SYNC_INPUT + run_timers (); +#endif +} + + /* Call alarm_signal_handler for pending timers. */ void @@ -413,7 +419,7 @@ do_pending_atimers () if (pending_atimers) { BLOCK_ATIMERS; - alarm_signal_handler (SIGALRM); + run_timers (); UNBLOCK_ATIMERS; } } -- 2.11.4.GIT