emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r101635: Don ät give write_mask to se


From: Jan D
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r101635: Don ät give write_mask to select for W32.
Date: Sun, 26 Sep 2010 22:48:13 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 101635
committer: Jan D <address@hidden>
branch nick: trunk
timestamp: Sun 2010-09-26 22:48:13 +0200
message:
  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.
modified:
  src/ChangeLog
  src/process.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-09-26 20:21:29 +0000
+++ b/src/ChangeLog     2010-09-26 20:48:13 +0000
@@ -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.

=== modified file 'src/process.c'
--- a/src/process.c     2010-09-26 20:21:29 +0000
+++ b/src/process.c     2010-09-26 20:48:13 +0000
@@ -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;
        }
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]