comparison src/keyboard.c @ 72341:111c88ecd861

* keyboard.c: Define in_sighandler. (input_available_signal): Set in_sighandler.
author Jan Djärv <jan.h.d@swipnet.se>
date Thu, 10 Aug 2006 06:07:15 +0000
parents 387e27f7ac5a
children b2e68179adaa
comparison
equal deleted inserted replaced
72340:abd170e8dcbe 72341:111c88ecd861
97 int interrupt_input_pending; 97 int interrupt_input_pending;
98 98
99 99
100 /* File descriptor to use for input. */ 100 /* File descriptor to use for input. */
101 extern int input_fd; 101 extern int input_fd;
102
103 /* Nonzero if we are executing from the SIGIO signal handler. */
104 int in_sighandler;
102 105
103 #ifdef HAVE_WINDOW_SYSTEM 106 #ifdef HAVE_WINDOW_SYSTEM
104 /* Make all keyboard buffers much bigger when using X windows. */ 107 /* Make all keyboard buffers much bigger when using X windows. */
105 #ifdef MAC_OS8 108 #ifdef MAC_OS8
106 /* But not too big (local data > 32K error) if on Mac OS Classic. */ 109 /* But not too big (local data > 32K error) if on Mac OS Classic. */
6922 interrupt_input_pending = 1; 6925 interrupt_input_pending = 1;
6923 #else 6926 #else
6924 SIGNAL_THREAD_CHECK (signo); 6927 SIGNAL_THREAD_CHECK (signo);
6925 #endif 6928 #endif
6926 6929
6930 in_sighandler = 1;
6931
6927 if (input_available_clear_time) 6932 if (input_available_clear_time)
6928 EMACS_SET_SECS_USECS (*input_available_clear_time, 0, 0); 6933 EMACS_SET_SECS_USECS (*input_available_clear_time, 0, 0);
6929 6934
6930 #ifndef SYNC_INPUT 6935 #ifndef SYNC_INPUT
6931 handle_async_input (); 6936 handle_async_input ();
6933 6938
6934 #ifdef BSD4_1 6939 #ifdef BSD4_1
6935 sigfree (); 6940 sigfree ();
6936 #endif 6941 #endif
6937 errno = old_errno; 6942 errno = old_errno;
6943 in_sighandler = 0;
6938 } 6944 }
6939 #endif /* SIGIO */ 6945 #endif /* SIGIO */
6940 6946
6941 /* Send ourselves a SIGIO. 6947 /* Send ourselves a SIGIO.
6942 6948
10800 kbd_store_ptr = kbd_buffer; 10806 kbd_store_ptr = kbd_buffer;
10801 #ifdef HAVE_MOUSE 10807 #ifdef HAVE_MOUSE
10802 do_mouse_tracking = Qnil; 10808 do_mouse_tracking = Qnil;
10803 #endif 10809 #endif
10804 input_pending = 0; 10810 input_pending = 0;
10811 in_sighandler = 0;
10805 10812
10806 /* This means that command_loop_1 won't try to select anything the first 10813 /* This means that command_loop_1 won't try to select anything the first
10807 time through. */ 10814 time through. */
10808 internal_last_event_frame = Qnil; 10815 internal_last_event_frame = Qnil;
10809 Vlast_event_frame = internal_last_event_frame; 10816 Vlast_event_frame = internal_last_event_frame;