From: Juanma Barranquero Date: Fri, 30 Jan 2009 13:06:07 +0000 (+0000) Subject: * atimer.c (run_timers, alarm_signal_handler): X-Git-Tag: emacs-pretest-23.0.90~57 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=07a1e794413237cc72419a965ad88f0592a69e9c;p=emacs.git * atimer.c (run_timers, alarm_signal_handler): * keyboard.c (pending_signals, handle_async_input, init_keyboard): * w32inevt.c (w32_console_read_socket): * w32term.c (w32_read_socket): * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate. --- diff --git a/src/ChangeLog b/src/ChangeLog index 67aa38209fc..91d39e7b580 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2009-01-30 Juanma Barranquero + + * atimer.c (run_timers, alarm_signal_handler): + * keyboard.c (pending_signals, handle_async_input, init_keyboard): + * w32inevt.c (w32_console_read_socket): + * w32term.c (w32_read_socket): + * xterm.c (XTread_socket): Use "#ifdef SYNC_INPUT" where appropriate. + 2009-01-30 Chong Yidong * callproc.c (Vtemp_file_name_pattern): Remove DEFVAR_LISP. diff --git a/src/atimer.c b/src/atimer.c index 6767ee59c0e..1653b629abf 100644 --- a/src/atimer.c +++ b/src/atimer.c @@ -384,6 +384,7 @@ run_timers () EMACS_GET_TIME (now); } +#ifdef SYNC_INPUT if (pending_atimers) pending_signals = 1; else @@ -391,6 +392,10 @@ run_timers () pending_signals = interrupt_input_pending; set_alarm (); } +#else + if (! pending_atimers) + set_alarm (); +#endif } @@ -402,8 +407,9 @@ alarm_signal_handler (signo) int signo; { pending_atimers = 1; +#ifdef SYNC_INPUT pending_signals = 1; -#ifndef SYNC_INPUT +#else run_timers (); #endif } diff --git a/src/keyboard.c b/src/keyboard.c index 8e3d51b7e77..f3ebf9fdc96 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -96,7 +96,9 @@ int interrupt_input_pending; pending_atimers separately, to reduce code size. So, any code that changes interrupt_input_pending or pending_atimers should update this too. */ +#ifdef SYNC_INPUT int pending_signals; +#endif #define KBD_BUFFER_SIZE 4096 @@ -7271,7 +7273,9 @@ void handle_async_input () { interrupt_input_pending = 0; +#ifdef SYNC_INPUT pending_signals = pending_atimers; +#endif while (1) { @@ -11556,7 +11560,9 @@ init_keyboard () input_pending = 0; interrupt_input_blocked = 0; interrupt_input_pending = 0; +#ifdef SYNC_INPUT pending_signals = 0; +#endif /* This means that command_loop_1 won't try to select anything the first time through. */ diff --git a/src/w32inevt.c b/src/w32inevt.c index 05f7bd224f7..7552ff17bb9 100644 --- a/src/w32inevt.c +++ b/src/w32inevt.c @@ -651,12 +651,16 @@ w32_console_read_socket (struct terminal *terminal, if (interrupt_input_blocked) { interrupt_input_pending = 1; +#ifdef SYNC_INPUT pending_signals = 1; +#endif return -1; } interrupt_input_pending = 0; +#ifdef SYNC_INPUT pending_signals = pending_atimers; +#endif BLOCK_INPUT; for (;;) diff --git a/src/w32term.c b/src/w32term.c index bcdadc4b22b..6e2f9ffa4dc 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -4078,12 +4078,16 @@ w32_read_socket (sd, expected, hold_quit) if (interrupt_input_blocked) { interrupt_input_pending = 1; +#ifdef SYNC_INPUT pending_signals = 1; +#endif return -1; } interrupt_input_pending = 0; +#ifdef SYNC_INPUT pending_signals = pending_atimers; +#endif BLOCK_INPUT; /* So people can tell when we have read the available input. */ diff --git a/src/xterm.c b/src/xterm.c index 1cd1ff059cf..00064758cdc 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -7138,12 +7138,16 @@ XTread_socket (terminal, expected, hold_quit) if (interrupt_input_blocked) { interrupt_input_pending = 1; +#ifdef SYNC_INPUT pending_signals = 1; +#endif return -1; } interrupt_input_pending = 0; +#ifdef SYNC_INPUT pending_signals = pending_atimers; +#endif BLOCK_INPUT; /* So people can tell when we have read the available input. */