diff options
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 26 |
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 | ||
| 329 | static SELECT_TYPE input_wait_mask; | 329 | static 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 | ||
| 333 | static SELECT_TYPE non_keyboard_wait_mask; | 333 | static 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 | ||
| 337 | static SELECT_TYPE non_process_wait_mask; | 337 | static 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 | |||
| 6966 | static int add_keyboard_wait_descriptor_called_flag; | ||
| 6967 | 6967 | ||
| 6968 | void | 6968 | void |
| 6969 | add_keyboard_wait_descriptor (desc) | 6969 | add_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 |