diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 0c09bebeb..ecf7b8af8 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Thu Sep 20 13:34:00 2001 Corinna Vinschen + + * fhandler_socket.cc (fhandler_socket::fixup_after_exec): Close + socket only when not using Winsock2. + Thu Sep 20 13:20:00 2001 Corinna Vinschen * fhandler.h (fhandler_socket::fixup_after_exec): Remove inline diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index dc76d0e0b..dbf284ec5 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -214,9 +214,10 @@ fhandler_socket::fixup_after_fork (HANDLE parent) void fhandler_socket::fixup_after_exec (HANDLE parent) { + extern WSADATA wsadata; if (!get_close_on_exec ()) fixup_after_fork (parent); - else + else if (wsadata.wVersion < 512) /* < Winsock 2.0 */ closesocket (get_socket ()); }