From d61b1993b36f3e7459c37db692c321654af3662e Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 16 May 2001 05:07:51 +0000 Subject: * autoload.h: Eliminate. * autoload.cc: Pull in autoload.h. Eliminate many macros. Rewrite to avoid necessity of initialization routines. Just use a standard one. (wsock_init): New function. Moved from net.cc. * net.cc (wsock_init): Move to autoload.cc. (wsadata): Make global. * dtable.cc (dtable::build_fhandler): Use more reliable method for checking if net stuff has been loaded. --- winsup/cygwin/net.cc | 41 +---------------------------------------- 1 file changed, 1 insertion(+), 40 deletions(-) (limited to 'winsup/cygwin/net.cc') diff --git a/winsup/cygwin/net.cc b/winsup/cygwin/net.cc index b1b42ed..00b830b 100644 --- a/winsup/cygwin/net.cc +++ b/winsup/cygwin/net.cc @@ -103,7 +103,7 @@ wsock_event::wait (int socket, LPDWORD flags) return ret; } -static WSADATA wsadata; +WSADATA wsadata; /* Cygwin internal */ static SOCKET __stdcall @@ -2065,42 +2065,3 @@ extern "C" void endhostent (void) { } - -extern "C" void -wsock_init () -{ - static LONG NO_COPY here = -1L; - static int NO_COPY wsock_started = 0; - - while (InterlockedIncrement (&here)) - { - InterlockedDecrement (&here); - Sleep (0); - } - if (!wsock_started && (wsock32_handle || ws2_32_handle)) - { - /* Don't use autoload to load WSAStartup to eliminate recursion. */ - int (*wsastartup) (int, WSADATA *); - - wsastartup = (int (*)(int, WSADATA *)) - GetProcAddress ((HMODULE) (wsock32_handle ?: ws2_32_handle), - "WSAStartup"); - if (wsastartup) - { - int res = wsastartup ((2<<8) | 2, &wsadata); - - debug_printf ("res %d", res); - debug_printf ("wVersion %d", wsadata.wVersion); - debug_printf ("wHighVersion %d", wsadata.wHighVersion); - debug_printf ("szDescription %s", wsadata.szDescription); - debug_printf ("szSystemStatus %s", wsadata.szSystemStatus); - debug_printf ("iMaxSockets %d", wsadata.iMaxSockets); - debug_printf ("iMaxUdpDg %d", wsadata.iMaxUdpDg); - debug_printf ("lpVendorInfo %d", wsadata.lpVendorInfo); - - wsock_started = 1; - } - } - InterlockedDecrement (&here); -} - -- cgit v1.1