aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/process.c b/src/process.c
index a129195b415..bd12f3e1a68 100644
--- a/src/process.c
+++ b/src/process.c
@@ -138,11 +138,11 @@ Boston, MA 02110-1301, USA. */
138#include "charset.h" 138#include "charset.h"
139#include "coding.h" 139#include "coding.h"
140#include "process.h" 140#include "process.h"
141#include "frame.h"
141#include "termhooks.h" 142#include "termhooks.h"
142#include "termopts.h" 143#include "termopts.h"
143#include "commands.h" 144#include "commands.h"
144#include "keyboard.h" 145#include "keyboard.h"
145#include "frame.h"
146#include "blockinput.h" 146#include "blockinput.h"
147#include "dispextern.h" 147#include "dispextern.h"
148#include "composite.h" 148#include "composite.h"
@@ -328,11 +328,11 @@ extern int timers_run;
328 328
329static SELECT_TYPE input_wait_mask; 329static SELECT_TYPE input_wait_mask;
330 330
331/* Mask that excludes keyboard input descriptor (s). */ 331/* Mask that excludes keyboard input descriptor(s). */
332 332
333static SELECT_TYPE non_keyboard_wait_mask; 333static SELECT_TYPE non_keyboard_wait_mask;
334 334
335/* Mask that excludes process input descriptor (s). */ 335/* Mask that excludes process input descriptor(s). */
336 336
337static SELECT_TYPE non_process_wait_mask; 337static SELECT_TYPE non_process_wait_mask;
338 338
@@ -3158,6 +3158,10 @@ usage: (make-network-process &rest ARGS) */)
3158 3158
3159 open_socket: 3159 open_socket:
3160 3160
3161#ifdef __ultrix__
3162 /* Previously this was compiled unconditionally, but that seems
3163 unnecessary on modern systems, and `unrequest_sigio' was a noop
3164 under X anyway. --lorentey */
3161 /* Kernel bugs (on Ultrix at least) cause lossage (not just EINTR) 3165 /* Kernel bugs (on Ultrix at least) cause lossage (not just EINTR)
3162 when connect is interrupted. So let's not let it get interrupted. 3166 when connect is interrupted. So let's not let it get interrupted.
3163 Note we do not turn off polling, because polling is only used 3167 Note we do not turn off polling, because polling is only used
@@ -3174,6 +3178,7 @@ usage: (make-network-process &rest ARGS) */)
3174 record_unwind_protect (unwind_request_sigio, Qnil); 3178 record_unwind_protect (unwind_request_sigio, Qnil);
3175 unrequest_sigio (); 3179 unrequest_sigio ();
3176 } 3180 }
3181#endif
3177 3182
3178 /* Do this in case we never enter the for-loop below. */ 3183 /* Do this in case we never enter the for-loop below. */
3179 count1 = SPECPDL_INDEX (); 3184 count1 = SPECPDL_INDEX ();
@@ -6958,20 +6963,12 @@ DEFUN ("process-filter-multibyte-p", Fprocess_filter_multibyte_p,
6958 6963
6959 6964
6960 6965
6961/* The first time this is called, assume keyboard input comes from DESC 6966/* Add DESC to the set of keyboard input descriptors. */
6962 instead of from where we used to expect it.
6963 Subsequent calls mean assume input keyboard can come from DESC
6964 in addition to other places. */
6965
6966static int add_keyboard_wait_descriptor_called_flag;
6967 6967
6968void 6968void
6969add_keyboard_wait_descriptor (desc) 6969add_keyboard_wait_descriptor (desc)
6970 int desc; 6970 int desc;
6971{ 6971{
6972 if (! add_keyboard_wait_descriptor_called_flag)
6973 FD_CLR (0, &input_wait_mask);
6974 add_keyboard_wait_descriptor_called_flag = 1;
6975 FD_SET (desc, &input_wait_mask); 6972 FD_SET (desc, &input_wait_mask);
6976 FD_SET (desc, &non_process_wait_mask); 6973 FD_SET (desc, &non_process_wait_mask);
6977 if (desc > max_keyboard_desc) 6974 if (desc > max_keyboard_desc)
@@ -7043,7 +7040,12 @@ init_process ()
7043 process_output_skip = 0; 7040 process_output_skip = 0;
7044#endif 7041#endif
7045 7042
7043 /* Don't do this, it caused infinite select loops. The display
7044 method should call add_keyboard_wait_descriptor on stdin if it
7045 needs that. */
7046#if 0
7046 FD_SET (0, &input_wait_mask); 7047 FD_SET (0, &input_wait_mask);
7048#endif
7047 7049
7048 Vprocess_alist = Qnil; 7050 Vprocess_alist = Qnil;
7049#ifdef SIGCHLD 7051#ifdef SIGCHLD