aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog3
-rw-r--r--src/process.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 335938916cf..75cb5704059 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -2,6 +2,9 @@
2 2
3 * process.c (add_keyboard_wait_descriptor) 3 * process.c (add_keyboard_wait_descriptor)
4 (delete_keyboard_wait_descriptor): Reinstate ifdef subprocesses. 4 (delete_keyboard_wait_descriptor): Reinstate ifdef subprocesses.
5 (wait_reading_process_output): Don't pass write_mask to select
6 if SELECT_CANT_DO_WRITE_MASK is defined.
7 (SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK.
5 8
6 * process.h (add_read_fd, delete_read_fd, add_write_fd) 9 * process.h (add_read_fd, delete_read_fd, add_write_fd)
7 (delete_write_fd): Declare. 10 (delete_write_fd): Declare.
diff --git a/src/process.c b/src/process.c
index d29168bcfd1..70cc8250add 100644
--- a/src/process.c
+++ b/src/process.c
@@ -201,8 +201,10 @@ int update_tick;
201 201
202/* Define NON_BLOCKING_CONNECT if we can support non-blocking connects. */ 202/* Define NON_BLOCKING_CONNECT if we can support non-blocking connects. */
203 203
204/* Only W32 has this, it really means that select can't take write mask. */
204#ifdef BROKEN_NON_BLOCKING_CONNECT 205#ifdef BROKEN_NON_BLOCKING_CONNECT
205#undef NON_BLOCKING_CONNECT 206#undef NON_BLOCKING_CONNECT
207#define SELECT_CANT_DO_WRITE_MASK
206#else 208#else
207#ifndef NON_BLOCKING_CONNECT 209#ifndef NON_BLOCKING_CONNECT
208#ifdef HAVE_SELECT 210#ifdef HAVE_SELECT
@@ -4726,7 +4728,11 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
4726 else 4728 else
4727 Available = input_wait_mask; 4729 Available = input_wait_mask;
4728 Writeok = write_mask; 4730 Writeok = write_mask;
4731#ifdef SELECT_CANT_DO_WRITE_MASK
4732 check_write = 0;
4733#else
4729 check_write = 1; 4734 check_write = 1;
4735#endif
4730 check_delay = wait_channel >= 0 ? 0 : process_output_delay_count; 4736 check_delay = wait_channel >= 0 ? 0 : process_output_delay_count;
4731 } 4737 }
4732 4738