* autoload.cc (load_wsock32): Declare dummy function to force loading of
winsock. * fhandler.cc (fhandler_base::set_inheritance): Make debugging output more verbose. * fhandler_socket.cc (fhandler_socket::fixup_after_fork): Force loading of winsock32 if winsock2 not available. * net.cc (set_socket_inheritance): Use DuplicateHandle in all cases to set inheritance correctly. (fdsock): Use winsock2_active macro to determine when to set socket inheritance. Remove fdtab resource locking since this function should already be protected. (cygwin_accept): Simplify logic. Ensure that fdtab unlock is not called inappropriately. (cygwin_rcmd): Use fdtab locking. (cygwin_rresvport): Ditto. (cygwin_rexec): Ditto. * select.cc (peek_socket): Set errno appropriately if winsock select fails. * winsup.h: Declare check_pty_fds. * syscalls.cc (check_pty_fds): Rename from check_ttys_fds. Also check pty master. (setsid): Use check_pty_fds. * dtable.cc (dtable::dec_console_fds): Add check on pty fds.
This commit is contained in:
@ -179,6 +179,7 @@ fhandler_socket::fixup_before_fork_exec (DWORD win_proc_id)
|
||||
}
|
||||
}
|
||||
|
||||
extern "C" void __stdcall load_wsock32 ();
|
||||
void
|
||||
fhandler_socket::fixup_after_fork (HANDLE parent)
|
||||
{
|
||||
@ -197,6 +198,7 @@ fhandler_socket::fixup_after_fork (HANDLE parent)
|
||||
}
|
||||
else if (!new_sock && !winsock2_active)
|
||||
{
|
||||
load_wsock32 ();
|
||||
fhandler_base::fixup_after_fork (parent);
|
||||
debug_printf ("Without Winsock 2.0");
|
||||
}
|
||||
|
Reference in New Issue
Block a user