diff lib-src/emacsclient.c @ 73617:7af864af10b6

[WINDOWSNT]: Define HAVE_INET_SOCKETS. [!WINDOWSNT]: Include <netinet/in.h> if available. [HAVE_SOCKETS]: Also require HAVE_INET_SOCKETS. (IOCTL, IOCTL_BOOL_ARG): Remove. (set_tcp_socket): Don't set the socket in blocking mode. Remove c_arg.
author Juanma Barranquero <lekktu@gmail.com>
date Thu, 02 Nov 2006 09:54:09 +0000
parents e243e9889b8b
children 4b7e3d203c5c
line wrap: on
line diff
--- a/lib-src/emacsclient.c	Thu Nov 02 08:41:57 2006 +0000
+++ b/lib-src/emacsclient.c	Thu Nov 02 09:54:09 2006 +0000
@@ -32,28 +32,23 @@
 # include <stdlib.h>
 
 # define HAVE_SOCKETS
+# define HAVE_INET_SOCKETS
 # define NO_SOCKETS_IN_FILE_SYSTEM
 
 # define HSOCKET SOCKET
 # define CLOSE_SOCKET closesocket
-# define IOCTL ioctlsocket
 # define INITIALIZE() (initialize_sockets ())
-typedef unsigned long IOCTL_BOOL_ARG;
 
 #else /* !WINDOWSNT */
 
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
-# include <netinet/in.h>
-# include <sys/ioctl.h>
+# ifdef HAVE_INET_SOCKETS
+#  include <netinet/in.h>
+# endif
 
 # define INVALID_SOCKET -1
 # define HSOCKET int
 # define CLOSE_SOCKET close
-# define IOCTL ioctl
 # define INITIALIZE()
-typedef int IOCTL_BOOL_ARG;
 
 #endif /* !WINDOWSNT */
 
@@ -271,7 +266,7 @@
 }
 
 
-#if !defined (HAVE_SOCKETS)
+#if !defined (HAVE_SOCKETS) || !defined (HAVE_INET_SOCKETS)
 
 int
 main (argc, argv)
@@ -285,7 +280,7 @@
   fail (argc, argv);
 }
 
-#else /* HAVE_SOCKETS */
+#else /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
 
 #ifdef WINDOWSNT
 # include <winsock2.h>
@@ -469,7 +464,6 @@
 {
   HSOCKET s;
   struct sockaddr_in server;
-  IOCTL_BOOL_ARG c_arg = 0;
   struct linger l_arg = {1, 1};
   char auth_string[AUTH_KEY_LENGTH + 1];
 
@@ -498,15 +492,6 @@
       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);
 
   /*
@@ -818,7 +803,7 @@
   return EXIT_SUCCESS;
 }
 
-#endif /* HAVE_SOCKETS */
+#endif /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
 
 #ifndef HAVE_STRERROR
 char *