# HG changeset patch # User Juanma Barranquero # Date 1284941898 -7200 # Node ID 9fe8167bbd9b25f718627af47ac5610466d7c2ca # Parent 838a8c24850fb107adaf0c5a6c024a54ea6abb07 Don't make W32 code conditional on HAVE_SOCKETS, it's always defined. * w32.c: Remove top-level uses of #ifdef HAVE_SOCKETS. (gethostname) [!HAVE_SOCKETS]: Remove. (SOCK_REPLACE_HANDLE): Remove macro. (socket_to_fd, sys_close, _sys_read_ahead, sys_read, sys_write) (term_ntproc, init_ntproc): Don't conditionalize on HAVE_SOCKETS. * w32proc.c: Remove top-level uses of #ifdef HAVE_SOCKETS. (syms_of_ntproc): Don't conditionalize on HAVE_SOCKETS. diff -r 838a8c24850f -r 9fe8167bbd9b src/ChangeLog --- a/src/ChangeLog Sun Sep 19 11:48:11 2010 -0700 +++ b/src/ChangeLog Mon Sep 20 02:18:18 2010 +0200 @@ -1,3 +1,14 @@ +2010-09-20 Juanma Barranquero + + Don't make W32 code conditional on HAVE_SOCKETS, it's always defined. + * w32.c: Remove top-level uses of #ifdef HAVE_SOCKETS. + (gethostname) [!HAVE_SOCKETS]: Remove. + (SOCK_REPLACE_HANDLE): Remove macro. + (socket_to_fd, sys_close, _sys_read_ahead, sys_read, sys_write) + (term_ntproc, init_ntproc): Don't conditionalize on HAVE_SOCKETS. + * w32proc.c: Remove top-level uses of #ifdef HAVE_SOCKETS. + (syms_of_ntproc): Don't conditionalize on HAVE_SOCKETS. + 2010-09-18 Eli Zaretskii * deps.mk (xml.o): Add dependencies. diff -r 838a8c24850f -r 9fe8167bbd9b src/w32.c --- a/src/w32.c Sun Sep 19 11:48:11 2010 -0700 +++ b/src/w32.c Mon Sep 20 02:18:18 2010 +0200 @@ -114,7 +114,7 @@ } PROCESS_MEMORY_COUNTERS_EX,*PPROCESS_MEMORY_COUNTERS_EX; #endif -#ifdef HAVE_SOCKETS /* TCP connection support, if kernel can do it */ +/* TCP connection support. */ #include #undef socket #undef bind @@ -133,7 +133,6 @@ #undef accept #undef recvfrom #undef sendto -#endif #include "w32.h" #include "ndir.h" @@ -834,17 +833,6 @@ #endif } -#ifndef HAVE_SOCKETS -/* Emulate gethostname. */ -int -gethostname (char *buffer, int size) -{ - /* NT only allows small host names, so the buffer is - certainly large enough. */ - return !GetComputerName (buffer, &size); -} -#endif /* HAVE_SOCKETS */ - /* Emulate getloadavg. */ struct load_sample { @@ -4352,8 +4340,6 @@ } -#ifdef HAVE_SOCKETS - /* Wrappers for winsock functions to map between our file descriptors and winsock's handles; also set h_errno for convenience. @@ -4640,13 +4626,7 @@ but I believe the method of keeping the socket handle separate (and insuring it is not inheritable) is the correct one. */ -//#define SOCK_REPLACE_HANDLE - -#ifdef SOCK_REPLACE_HANDLE -#define SOCK_HANDLE(fd) ((SOCKET) _get_osfhandle (fd)) -#else #define SOCK_HANDLE(fd) ((SOCKET) fd_info[fd].hnd) -#endif int socket_to_fd (SOCKET s); @@ -4690,13 +4670,6 @@ fd = _open ("NUL:", _O_RDWR); if (fd >= 0) { -#ifdef SOCK_REPLACE_HANDLE - /* now replace handle to NUL with our socket handle */ - CloseHandle ((HANDLE) _get_osfhandle (fd)); - _free_osfhnd (fd); - _set_osfhnd (fd, s); - /* setmode (fd, _O_BINARY); */ -#else /* Make a non-inheritable copy of the socket handle. Note that it is possible that sockets aren't actually kernel handles, which appears to be the case on Windows 9x when @@ -4742,7 +4715,6 @@ } } fd_info[fd].hnd = (HANDLE) s; -#endif /* set our own internal flags */ fd_info[fd].flags = FILE_SOCKET | FILE_BINARY | FILE_READ | FILE_WRITE; @@ -5103,8 +5075,6 @@ return SOCKET_ERROR; } -#endif /* HAVE_SOCKETS */ - /* Shadow main io functions: we need to handle pipes and sockets more intelligently, and implement non-blocking mode as well. */ @@ -5139,18 +5109,15 @@ } if (i == MAXDESC) { -#ifdef HAVE_SOCKETS if (fd_info[fd].flags & FILE_SOCKET) { -#ifndef SOCK_REPLACE_HANDLE if (winsock_lib == NULL) abort (); pfn_shutdown (SOCK_HANDLE (fd), 2); rc = pfn_closesocket (SOCK_HANDLE (fd)); -#endif + winsock_inuse--; /* count open sockets */ } -#endif delete_child (cp); } } @@ -5318,7 +5285,6 @@ return STATUS_READ_ERROR; } } -#ifdef HAVE_SOCKETS else if (fd_info[fd].flags & FILE_SOCKET) { unsigned long nblock = 0; @@ -5334,7 +5300,6 @@ pfn_ioctlsocket (SOCK_HANDLE (fd), FIONBIO, &nblock); } } -#endif if (rc == sizeof (char)) cp->status = STATUS_READ_SUCCEEDED; @@ -5506,7 +5471,6 @@ nchars += rc; } } -#ifdef HAVE_SOCKETS else /* FILE_SOCKET */ { if (winsock_lib == NULL) abort (); @@ -5533,7 +5497,6 @@ nchars += res; } } -#endif } else { @@ -5658,9 +5621,7 @@ } } } - else -#ifdef HAVE_SOCKETS - if (fd < MAXDESC && fd_info[fd].flags & FILE_SOCKET) + else if (fd < MAXDESC && fd_info[fd].flags & FILE_SOCKET) { unsigned long nblock = 0; if (winsock_lib == NULL) abort (); @@ -5688,7 +5649,6 @@ } } else -#endif { /* Some networked filesystems don't like too large writes, so break them into smaller chunks. See the Comments section of @@ -5780,10 +5740,8 @@ void term_ntproc (void) { -#ifdef HAVE_SOCKETS /* shutdown the socket interface if necessary */ term_winsock (); -#endif term_w32select (); } @@ -5791,7 +5749,6 @@ void init_ntproc (void) { -#ifdef HAVE_SOCKETS /* Initialise the socket interface now if available and requested by the user by defining PRELOAD_WINSOCK; otherwise loading will be delayed until open-network-stream is called (w32-has-winsock can @@ -5805,7 +5762,6 @@ if (getenv ("PRELOAD_WINSOCK") != NULL) init_winsock (TRUE); -#endif /* Initial preparation for subprocess support: replace our standard handles with non-inheritable versions. */ diff -r 838a8c24850f -r 9fe8167bbd9b src/w32proc.c --- a/src/w32proc.c Sun Sep 19 11:48:11 2010 -0700 +++ b/src/w32proc.c Mon Sep 20 02:18:18 2010 +0200 @@ -1694,8 +1694,6 @@ process_dir = dir; } -#ifdef HAVE_SOCKETS - /* To avoid problems with winsock implementations that work over dial-up connections causing or requiring a connection to exist while Emacs is running, Emacs no longer automatically loads winsock on startup if it @@ -1759,8 +1757,6 @@ return term_winsock () ? Qt : Qnil; } -#endif /* HAVE_SOCKETS */ - /* Some miscellaneous functions that are Windows specific, but not GUI specific (ie. are applicable in terminal or batch mode as well). */ @@ -2268,10 +2264,9 @@ DEFSYM (Qhigh, "high"); DEFSYM (Qlow, "low"); -#ifdef HAVE_SOCKETS defsubr (&Sw32_has_winsock); defsubr (&Sw32_unload_winsock); -#endif + defsubr (&Sw32_short_file_name); defsubr (&Sw32_long_file_name); defsubr (&Sw32_set_process_priority);