diff options
author | Juanma Barranquero <lekktu@gmail.com> | 2006-10-31 13:52:32 +0000 |
---|---|---|
committer | Juanma Barranquero <lekktu@gmail.com> | 2006-10-31 13:52:32 +0000 |
commit | 95d0feaa4a914e897f202c5c0b1d8ea14524620a (patch) | |
tree | bcdd6ed68f6c5daed71bdd3fccf3917d828e113f /lib-src/emacsclient.c | |
parent | d4fa60c883cfddb62f64c59062f18c784fcbe67e (diff) | |
download | emacs-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/emacsclient.c')
-rw-r--r-- | lib-src/emacsclient.c | 11 |
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); /* |