Commit 029529ac authored by Chong Yidong's avatar Chong Yidong
Browse files

Fix handling of pending signals in wait_reading_process_output (Bug#8869).

* process.c (wait_reading_process_output): Bypass select if
waiting for a cell while ignoring keyboard input, and input is
pending.  Suggested by Jan Djärv.
parent ee584d02
2011-06-26 Chong Yidong <cyd@stupidchicken.com>
* process.c (wait_reading_process_output): Bypass select if
waiting for a cell while ignoring keyboard input, and input is
pending. Suggested by Jan Djärv (Bug#8869).
2011-06-25 Paul Eggert <eggert@cs.ucla.edu> 2011-06-25 Paul Eggert <eggert@cs.ucla.edu>
Use gnulib's dup2 module instead of rolling our own. Use gnulib's dup2 module instead of rolling our own.
...@@ -351,7 +357,7 @@ ...@@ -351,7 +357,7 @@
2011-06-22 Jim Meyering <meyering@redhat.com> 2011-06-22 Jim Meyering <meyering@redhat.com>
don't leak an XBM-image-sized buffer Don't leak an XBM-image-sized buffer
* image.c (xbm_load): Free the image buffer after using it. * image.c (xbm_load): Free the image buffer after using it.
2011-06-21 Paul Eggert <eggert@cs.ucla.edu> 2011-06-21 Paul Eggert <eggert@cs.ucla.edu>
......
...@@ -4479,13 +4479,19 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd, ...@@ -4479,13 +4479,19 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
set_waiting_for_input (&timeout); set_waiting_for_input (&timeout);
} }
/* Skip the `select' call if input is available and we're
waiting for keyboard input or a cell change (which can be
triggered by processing X events). In the latter case, set
nfds to 1 to avoid breaking the loop. */
no_avail = 0; no_avail = 0;
if (read_kbd && detect_input_pending ()) if ((read_kbd || !NILP (wait_for_cell))
&& detect_input_pending ())
{ {
nfds = 0; nfds = read_kbd ? 0 : 1;
no_avail = 1; no_avail = 1;
} }
else
if (!no_avail)
{ {
#ifdef ADAPTIVE_READ_BUFFERING #ifdef ADAPTIVE_READ_BUFFERING
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment