diff src/process.c @ 55579:234873044c2a

(wait_reading_process_input): Make reentrant. Make Available and Connecting non-static. Save and restore value of waiting_for_user_input_p.
author Kim F. Storm <storm@cua.dk>
date Thu, 13 May 2004 23:07:07 +0000
parents 43894b273b5e
children d5fe47c900ee ad01ab3c6f4d
line wrap: on
line diff
--- a/src/process.c	Thu May 13 23:05:42 2004 +0000
+++ b/src/process.c	Thu May 13 23:07:07 2004 +0000
@@ -4018,8 +4018,8 @@
      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 @@
   /* 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 @@
 	}			/* 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.