Mail Archives: cygwin/1999/05/26/10:04:10
>function incorrect. Actually not only the proxy server is installed at
>the server computer, my PC also installed the WSP (WinSock Proxy)
>client. The WSPWSP.dll is added to \windows\system directory. Anyone
It's a bug of winsock proxy client dll - an application cannot connect
duplicated socket. Cygwin1.dll contains the following routine:
/* Cygwin internal */
static SOCKET
duplicate_socket (SOCKET sock)
{
/* Do not duplicate socket on Windows NT because of problems with
MS winsock proxy server.
*/
if (os_being_run == winNT)
return sock;
SOCKET newsock;
if (DuplicateHandle (GetCurrentProcess(), (HANDLE) sock,
GetCurrentProcess(), (HANDLE *) &newsock,
0, TRUE, DUPLICATE_SAME_ACCESS))
{
(*i_closesocket) (sock);
sock = newsock;
}
else
small_printf ("DuplicateHandle failed %E");
return sock;
}
This routine is neccessary to run socket applications on Win95 (I don't know
if it neccessary for Win98). The problem is in socket() call on W95 - the
socket returned is non-inherittable handle (unlike NT and Unixes, where
sockets are inherittable). To fix the problem DuplicateHandle call is used
to create inherittable handle, and original handle is closed. But,
unfortunately, that raises a problem with winsock proxy dll.
Sergey Okhapkin, http://www.lexa.ru/sos
Piscataway, NJ
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
- Raw text -