Mercurial > emacs
changeset 110594:76b6c21279ec
Don¸«£t give write_mask to select for W32.
process.c (wait_reading_process_output): Don't pass write_mask to select
if SELECT_CANT_DO_WRITE_MASK is defined.
(SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK.
author | Jan D <jan.h.d@swipnet.se> |
---|---|
date | Sun, 26 Sep 2010 22:48:13 +0200 |
parents | 27428f586e5d |
children | ba4c4d4dddf5 |
files | src/ChangeLog src/process.c |
diffstat | 2 files changed, 9 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Sun Sep 26 22:21:29 2010 +0200 +++ b/src/ChangeLog Sun Sep 26 22:48:13 2010 +0200 @@ -2,6 +2,9 @@ * process.c (add_keyboard_wait_descriptor) (delete_keyboard_wait_descriptor): Reinstate ifdef subprocesses. + (wait_reading_process_output): Don't pass write_mask to select + if SELECT_CANT_DO_WRITE_MASK is defined. + (SELECT_CANT_DO_WRITE_MASK): Define if SELECT_CANT_DO_WRITE_MASK. * process.h (add_read_fd, delete_read_fd, add_write_fd) (delete_write_fd): Declare.
--- a/src/process.c Sun Sep 26 22:21:29 2010 +0200 +++ b/src/process.c Sun Sep 26 22:48:13 2010 +0200 @@ -201,8 +201,10 @@ /* Define NON_BLOCKING_CONNECT if we can support non-blocking connects. */ +/* Only W32 has this, it really means that select can't take write mask. */ #ifdef BROKEN_NON_BLOCKING_CONNECT #undef NON_BLOCKING_CONNECT +#define SELECT_CANT_DO_WRITE_MASK #else #ifndef NON_BLOCKING_CONNECT #ifdef HAVE_SELECT @@ -4726,7 +4728,11 @@ else Available = input_wait_mask; Writeok = write_mask; +#ifdef SELECT_CANT_DO_WRITE_MASK + check_write = 0; +#else check_write = 1; +#endif check_delay = wait_channel >= 0 ? 0 : process_output_delay_count; }