diff options
| author | Jan Djärv | 2006-08-10 06:07:15 +0000 |
|---|---|---|
| committer | Jan Djärv | 2006-08-10 06:07:15 +0000 |
| commit | 90b03d58966b9bb4f8de4f4b5fcbb24cec70b45a (patch) | |
| tree | 19a01f7cd752d7c624011e0ff56f819dd796eee1 /src | |
| parent | 0e94a24a871c7032b29bb971abdd0353d5ace084 (diff) | |
| download | emacs-90b03d58966b9bb4f8de4f4b5fcbb24cec70b45a.tar.gz emacs-90b03d58966b9bb4f8de4f4b5fcbb24cec70b45a.zip | |
* keyboard.c: Define in_sighandler.
(input_available_signal): Set in_sighandler.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index ae3b78b04d2..c715eadeb80 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -100,6 +100,9 @@ int interrupt_input_pending; | |||
| 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 | 102 | ||
| 103 | /* Nonzero if we are executing from the SIGIO signal handler. */ | ||
| 104 | int in_sighandler; | ||
| 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 |
| @@ -6924,6 +6927,8 @@ input_available_signal (signo) | |||
| 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 | ||
| @@ -6935,6 +6940,7 @@ input_available_signal (signo) | |||
| 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 | ||
| @@ -10802,6 +10808,7 @@ init_keyboard () | |||
| 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. */ |