summaryrefslogtreecommitdiff
path: root/lib-src
diff options
context:
space:
mode:
authorJuanma Barranquero <lekktu@gmail.com>2006-10-31 13:52:32 +0000
committerJuanma Barranquero <lekktu@gmail.com>2006-10-31 13:52:32 +0000
commit95d0feaa4a914e897f202c5c0b1d8ea14524620a (patch)
treebcdd6ed68f6c5daed71bdd3fccf3917d828e113f /lib-src
parentd4fa60c883cfddb62f64c59062f18c784fcbe67e (diff)
downloademacs-95d0feaa4a914e897f202c5c0b1d8ea14524620a.tar.gz
[!WINDOWSNT]: Include <fcntl.h> if available.
(set_tcp_socket): Prefer O_NONBLOCK, then O_NDELAY, then FIONBIO to set the socket in non-blocking mode.
Diffstat (limited to 'lib-src')
-rw-r--r--lib-src/ChangeLog6
-rw-r--r--lib-src/emacsclient.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog
index b3ac07ec269..939cb1b24c0 100644
--- a/lib-src/ChangeLog
+++ b/lib-src/ChangeLog
@@ -1,3 +1,9 @@
+2006-10-31 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
+
+ * emacsclient.c [!WINDOWSNT]: Include <fcntl.h> if available.
+ (set_tcp_socket): Prefer O_NONBLOCK, then O_NDELAY, then FIONBIO
+ to set the socket in non-blocking mode.
+
2006-10-31 Tim Van Holder <tim.vanholder@gmail.com> (tiny change)
* emacsclient.c [!WINDOWSNT]: Include <netinet/in.h> and <sys/ioctl.h>.
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);
/*