# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1263357765 -32400 # Node ID 84369111c00599c6c7c2333a076403071aa8a121 # Parent 4040ecb0c904ba10620a40adba63b28250f7ef0b 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. diff -r 4040ecb0c904 -r 84369111c005 src/ChangeLog --- a/src/ChangeLog Tue Jan 12 23:33:42 2010 -0500 +++ b/src/ChangeLog Wed Jan 13 13:42:45 2010 +0900 @@ -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 -r 4040ecb0c904 -r 84369111c005 src/atimer.c --- a/src/atimer.c Tue Jan 12 23:33:42 2010 -0500 +++ b/src/atimer.c Wed Jan 13 13:42:45 2010 +0900 @@ -410,6 +410,10 @@ alarm_signal_handler (signo) int signo; { +#ifndef SYNC_INPUT + SIGNAL_THREAD_CHECK (signo); +#endif + pending_atimers = 1; #ifdef SYNC_INPUT pending_signals = 1; diff -r 4040ecb0c904 -r 84369111c005 src/keyboard.c --- a/src/keyboard.c Tue Jan 12 23:33:42 2010 -0500 +++ b/src/keyboard.c Wed Jan 13 13:42:45 2010 +0900 @@ -7513,11 +7513,11 @@ 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)