summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim F. Storm <storm@cua.dk>2004-05-13 23:07:07 +0000
committerKim F. Storm <storm@cua.dk>2004-05-13 23:07:07 +0000
commit855448dc19acdc72ca3a233ce6b9c7eaeda26fff (patch)
tree65ef66f94f74468b110229ed3e47b52393dbeed1
parentb51a51b94c3563d9c743ef0a5d9ea4400344f773 (diff)
downloademacs-855448dc19acdc72ca3a233ce6b9c7eaeda26fff.tar.gz
(wait_reading_process_input): Make reentrant.
Make Available and Connecting non-static. Save and restore value of waiting_for_user_input_p.
-rw-r--r--src/process.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c
index bbfc06c3082..463d56ffb3d 100644
--- a/src/process.c
+++ b/src/process.c
@@ -4018,8 +4018,8 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
int do_display;
{
register int channel, nfds;
- static SELECT_TYPE Available;
- static SELECT_TYPE Connecting;
+ SELECT_TYPE Available;
+ SELECT_TYPE Connecting;
int check_connect, check_delay, no_avail;
int xerrno;
Lisp_Object proc;
@@ -4030,6 +4030,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
/* Either nil or a cons cell, the car of which is of interest and
may be changed outside of this routine. */
Lisp_Object wait_for_cell = Qnil;
+ int saved_waiting_for_user_input_p = waiting_for_user_input_p;
FD_ZERO (&Available);
FD_ZERO (&Connecting);
@@ -4643,7 +4644,7 @@ wait_reading_process_input (time_limit, microsecs, read_kbd, do_display)
} /* end for each file descriptor */
} /* end while exit conditions not met */
- waiting_for_user_input_p = 0;
+ waiting_for_user_input_p = saved_waiting_for_user_input_p;
/* If calling from keyboard input, do not quit
since we want to return C-g as an input character.