]> git.eshelyaron.com Git - emacs.git/commitdiff
Donät give write_mask to select for W32.
authorJan D <jan.h.d@swipnet.se>
Sun, 26 Sep 2010 20:48:13 +0000 (22:48 +0200)
committerJan D <jan.h.d@swipnet.se>
Sun, 26 Sep 2010 20:48:13 +0000 (22:48 +0200)
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.

src/ChangeLog
src/process.c

index 335938916cfd5f453a4fe24a6512b7f25bf52b49..75cb5704059c2acf92ded74a959782d05eae818c 100644 (file)
@@ -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.
index d29168bcfd1fabacbb3cdfa8d12a098b401e880c..70cc8250addf3e691d6558dd87405885cc46d12b 100644 (file)
@@ -201,8 +201,10 @@ int update_tick;
 
 /* 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 @@ wait_reading_process_output (int time_limit, int microsecs, int read_kbd,
          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;
        }