From c2623ee747a343021b9e9ce853835a938ab4fa80 Mon Sep 17 00:00:00 2001 From: YAMAMOTO Mitsuharu Date: Wed, 13 Jan 2010 13:42:45 +0900 Subject: [PATCH] Call SIGNAL_THREAD_CHECK from signal handlers. * keyboard.c (input_available_signal) [SYNC_INPUT]: Call SIGNAL_THREAD_CHECK (Bug#5333). * atimer.c (alarm_signal_handler) [!SYNC_INPUT]: Call SIGNAL_THREAD_CHECK. --- src/ChangeLog | 8 ++++++++ src/atimer.c | 4 ++++ src/keyboard.c | 4 ++-- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 1ad107b566c..8389fdcd83f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2010-01-13 YAMAMOTO Mitsuharu + + * keyboard.c (input_available_signal) [SYNC_INPUT]: + Call SIGNAL_THREAD_CHECK (Bug#5333). + + * atimer.c (alarm_signal_handler) [!SYNC_INPUT]: + Call SIGNAL_THREAD_CHECK. + 2010-01-13 Stefan Monnier Try to fix bug#5314. This is probably not the final word, tho. diff --git a/src/atimer.c b/src/atimer.c index 308d4688d7b..fc8af09630f 100644 --- a/src/atimer.c +++ b/src/atimer.c @@ -410,6 +410,10 @@ SIGTYPE alarm_signal_handler (signo) int signo; { +#ifndef SYNC_INPUT + SIGNAL_THREAD_CHECK (signo); +#endif + pending_atimers = 1; #ifdef SYNC_INPUT pending_signals = 1; diff --git a/src/keyboard.c b/src/keyboard.c index 3b57c6e470f..e7338261499 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -7513,11 +7513,11 @@ input_available_signal (signo) signal (signo, input_available_signal); #endif /* USG */ + SIGNAL_THREAD_CHECK (signo); + #ifdef SYNC_INPUT interrupt_input_pending = 1; pending_signals = 1; -#else - SIGNAL_THREAD_CHECK (signo); #endif if (input_available_clear_time) -- 2.39.2