changeset 106814:84369111c005

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.
author YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
date Wed, 13 Jan 2010 13:42:45 +0900
parents 4040ecb0c904
children 1d1d5d9bd884
files src/ChangeLog src/atimer.c src/keyboard.c
diffstat 3 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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  <mituharu@math.s.chiba-u.ac.jp>
+
+	* 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  <monnier@iro.umontreal.ca>
 
 	Try to fix bug#5314.  This is probably not the final word, tho.
--- 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;
--- 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)