summaryrefslogtreecommitdiff
path: root/lib-src/emacsclient.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib-src/emacsclient.c')
-rw-r--r--lib-src/emacsclient.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib-src/emacsclient.c b/lib-src/emacsclient.c
index b3a5180653c..b7f3dd592a7 100644
--- a/lib-src/emacsclient.c
+++ b/lib-src/emacsclient.c
@@ -38,6 +38,9 @@ Boston, MA 02110-1301, USA. */
# define INITIALIZE() (initialize_sockets ())
typedef unsigned long IOCTL_BOOL_ARG;
#else
+#ifdef HAVE_FCNTL_H
+# include <fcntl.h>
+#endif
# include <netinet/in.h>
# include <sys/ioctl.h>
# define INVALID_SOCKET -1
@@ -486,7 +489,15 @@ set_tcp_socket ()
return INVALID_SOCKET;
}
+#ifdef O_NONBLOCK
+ IOCTL (s, O_NONBLOCK, &c_arg);
+#else
+#ifdef O_NDELAY
+ IOCTL (s, O_NDELAY, &c_arg);
+#else
IOCTL (s, FIONBIO, &c_arg);
+#endif
+#endif
setsockopt (s, SOL_SOCKET, SO_LINGER, (char *) &l_arg, sizeof l_arg);
/*