emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 087fdee: Assume !BROKEN_NON_BLOCKING_CONNECT


From: Paul Eggert
Subject: [Emacs-diffs] master 087fdee: Assume !BROKEN_NON_BLOCKING_CONNECT
Date: Fri, 27 Mar 2015 17:37:20 +0000

branch: master
commit 087fdee723da5968679d0392302043f10a5934bb
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Assume !BROKEN_NON_BLOCKING_CONNECT
    
    From a suggestion by Eli Zaretskii in:
    http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00824.html
    * process.c (NON_BLOCKING_CONNECT): Simplify by assuming that
    BROKEN_NON_BLOCKING_CONNECT is not defined.
    (SELECT_CAN_DO_WRITE_MASK): Remove, and assume it's now true.
---
 admin/CPP-DEFINES |    1 -
 src/ChangeLog     |    9 +++++++++
 src/process.c     |   29 ++++++++++-------------------
 3 files changed, 19 insertions(+), 20 deletions(-)

diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index 18423c2..796b57d 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -85,7 +85,6 @@ AMPERSAND_FULL_NAME
 BROKEN_DATAGRAM_SOCKETS
 BROKEN_FIONREAD
 BROKEN_GET_CURRENT_DIR_NAME
-BROKEN_NON_BLOCKING_CONNECT
 BROKEN_PTY_READ_AFTER_EAGAIN
 DEFAULT_SOUND_DEVICE
 DEVICE_SEP
diff --git a/src/ChangeLog b/src/ChangeLog
index 98037e8..3f9ab4f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
+2015-03-27  Paul Eggert  <address@hidden>
+
+       Assume !BROKEN_NON_BLOCKING_CONNECT
+       From a suggestion by Eli Zaretskii in:
+       http://lists.gnu.org/archive/html/emacs-devel/2015-03/msg00824.html
+       * process.c (NON_BLOCKING_CONNECT): Simplify by assuming that
+       BROKEN_NON_BLOCKING_CONNECT is not defined.
+       (SELECT_CAN_DO_WRITE_MASK): Remove, and assume it's now true.
+
 2015-03-27  Eli Zaretskii  <address@hidden>
 
        * lread.c (substitute_object_recurse): For sub-char-tables, start
diff --git a/src/process.c b/src/process.c
index 3fe8644..2800fa5 100644
--- a/src/process.c
+++ b/src/process.c
@@ -195,24 +195,15 @@ static EMACS_INT process_tick;
 /* Number of events for which the user or sentinel has been notified.  */
 static EMACS_INT update_tick;
 
-/* Define NON_BLOCKING_CONNECT if we can support non-blocking connects.  */
+/* Define NON_BLOCKING_CONNECT if we can support non-blocking connects.
+   The code can be simplified by assuming NON_BLOCKING_CONNECT once
+   Emacs starts assuming POSIX 1003.1-2001 or later.  */
 
-/* Only W32 has this, it really means that select can't take write mask.  */
-#ifdef BROKEN_NON_BLOCKING_CONNECT
-#undef NON_BLOCKING_CONNECT
-enum { SELECT_CAN_DO_WRITE_MASK = false };
-#else
-enum { SELECT_CAN_DO_WRITE_MASK = true };
-#ifndef NON_BLOCKING_CONNECT
-#ifdef HAVE_SELECT
-#if defined (HAVE_GETPEERNAME) || defined (GNU_LINUX)
-#if defined (EWOULDBLOCK) || defined (EINPROGRESS)
-#define NON_BLOCKING_CONNECT
-#endif /* EWOULDBLOCK || EINPROGRESS */
-#endif /* HAVE_GETPEERNAME || GNU_LINUX */
-#endif /* HAVE_SELECT */
-#endif /* NON_BLOCKING_CONNECT */
-#endif /* BROKEN_NON_BLOCKING_CONNECT */
+#if (defined HAVE_SELECT                               \
+     && (defined GNU_LINUX || defined HAVE_GETPEERNAME)        \
+     && (defined EWOULDBLOCK || defined EINPROGRESS))
+# define NON_BLOCKING_CONNECT
+#endif
 
 /* Define DATAGRAM_SOCKETS if datagrams can be used safely on
    this system.  We need to read full packets, so we need a
@@ -4606,7 +4597,7 @@ wait_reading_process_output (intmax_t time_limit, int 
nsecs, int read_kbd,
            Available = input_wait_mask;
           Writeok = write_mask;
          check_delay = wait_proc ? 0 : process_output_delay_count;
-         check_write = SELECT_CAN_DO_WRITE_MASK;
+         check_write = true;
        }
 
       /* If frame size has changed or the window is newly mapped,



reply via email to

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