diff options
| author | YAMAMOTO Mitsuharu | 2010-01-13 13:42:45 +0900 |
|---|---|---|
| committer | YAMAMOTO Mitsuharu | 2010-01-13 13:42:45 +0900 |
| commit | c2623ee747a343021b9e9ce853835a938ab4fa80 (patch) | |
| tree | a6fb788f3f5c9499491e8f4d405bee9509e531ef /src | |
| parent | 0b5397c27163729ca48af4d0c569e574638be2d1 (diff) | |
| download | emacs-c2623ee747a343021b9e9ce853835a938ab4fa80.tar.gz emacs-c2623ee747a343021b9e9ce853835a938ab4fa80.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 8 | ||||
| -rw-r--r-- | src/atimer.c | 4 | ||||
| -rw-r--r-- | src/keyboard.c | 4 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 1ad107b566c..8389fdcd83f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,11 @@ | |||
| 1 | 2010-01-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * keyboard.c (input_available_signal) [SYNC_INPUT]: | ||
| 4 | Call SIGNAL_THREAD_CHECK (Bug#5333). | ||
| 5 | |||
| 6 | * atimer.c (alarm_signal_handler) [!SYNC_INPUT]: | ||
| 7 | Call SIGNAL_THREAD_CHECK. | ||
| 8 | |||
| 1 | 2010-01-13 Stefan Monnier <monnier@iro.umontreal.ca> | 9 | 2010-01-13 Stefan Monnier <monnier@iro.umontreal.ca> |
| 2 | 10 | ||
| 3 | Try to fix bug#5314. This is probably not the final word, tho. | 11 | Try to fix bug#5314. This is probably not the final word, tho. |
diff --git a/src/atimer.c b/src/atimer.c index 308d4688d7b..fc8af09630f 100644 --- a/src/atimer.c +++ b/src/atimer.c | |||
| @@ -410,6 +410,10 @@ SIGTYPE | |||
| 410 | alarm_signal_handler (signo) | 410 | alarm_signal_handler (signo) |
| 411 | int signo; | 411 | int signo; |
| 412 | { | 412 | { |
| 413 | #ifndef SYNC_INPUT | ||
| 414 | SIGNAL_THREAD_CHECK (signo); | ||
| 415 | #endif | ||
| 416 | |||
| 413 | pending_atimers = 1; | 417 | pending_atimers = 1; |
| 414 | #ifdef SYNC_INPUT | 418 | #ifdef SYNC_INPUT |
| 415 | pending_signals = 1; | 419 | pending_signals = 1; |
diff --git a/src/keyboard.c b/src/keyboard.c index 3b57c6e470f..e7338261499 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -7513,11 +7513,11 @@ input_available_signal (signo) | |||
| 7513 | signal (signo, input_available_signal); | 7513 | signal (signo, input_available_signal); |
| 7514 | #endif /* USG */ | 7514 | #endif /* USG */ |
| 7515 | 7515 | ||
| 7516 | SIGNAL_THREAD_CHECK (signo); | ||
| 7517 | |||
| 7516 | #ifdef SYNC_INPUT | 7518 | #ifdef SYNC_INPUT |
| 7517 | interrupt_input_pending = 1; | 7519 | interrupt_input_pending = 1; |
| 7518 | pending_signals = 1; | 7520 | pending_signals = 1; |
| 7519 | #else | ||
| 7520 | SIGNAL_THREAD_CHECK (signo); | ||
| 7521 | #endif | 7521 | #endif |
| 7522 | 7522 | ||
| 7523 | if (input_available_clear_time) | 7523 | if (input_available_clear_time) |