Mercurial > emacs
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; |