lynx 2.8.4-1 produces an "Alert: Unable to connect to remote host" error. wget (and other networking programs) work fine. lynx -trace shows a problem in the call to confirm-ready connect(). LYGetHostByName: Resolved name to a hostent. HTParseInet: Parsed address as port 80, IP address 128.100.1.32 Making HTTP connection to www.cs.toronto.edu TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first connect() failed. errno EINPROGRESS triggered TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first select() failed. errno EINPROGRESS triggered TCP: Error 22 in `SOCKET_ERRNO' after call to confirm-ready connect() failed. Invalid argument HTTP: Unable to connect to remote host for `http://www.cs.toronto.edu/' (errno = 22). Some previous fixes have tried raising the timeout, but it seems to me that the second connect on the non-blocking socket is failing with EINVAL rather than EISCONN/EADDRINUSE/EALREADY. Can one really rely on the semantics of a second connect on a non-blocking socket? Adding a test for EINVAL causes it to work fine on a wide variety of web servers (high-speed LAN and really distant slow Internet connections) Trace now shows: LYGetHostByName: Resolved name to a hostent. HTParseInet: Parsed address as port 80, IP address 128.100.1.32 Making HTTP connection to www.cs.toronto.edu TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first connect() failed. errno EINPROGRESS triggered TCP: Error 119 in `SOCKET_ERRNO' after call to this socket's first select() failed. errno EINPROGRESS triggered HTParse: aName:`http://www.cs.toronto.edu/' The set of configure options in Cygwin.README didn't work for me, I had to make a few changes, also included in the patch below. Mark. --- Cygwin-.README Fri Aug 31 18:38:21 2001 +++ Cygwin.README Fri Aug 31 22:34:17 2001 @@ -3,10 +3,11 @@ --prefix=/usr --sysconfdir=/etc --libdir=/usr/share - --docdir=/usr/doc/lynx - --helpdir=/usr/doc/lynx/lynx_help + --with-docdir=/usr/doc/lynx + --with-helpdir=/usr/doc/lynx/lynx_help --with-ssl - --with-ncurses - --enable-default-colors + --with-screen=ncurses + --disable-default-colors --enable-nls --with-nls-datadir=/usr/share + --with-zlib --- WWW/Library/Implementation/HTTCP-.c Fri Aug 31 18:20:08 2001 +++ WWW/Library/Implementation/HTTCP.c Fri Aug 31 18:35:59 2001 @@ -1801,7 +1801,7 @@ status = 0; } - if (status && (SOCKET_ERRNO == EALREADY)) /* new stuff LJM */ + if (status && (SOCKET_ERRNO == EALREADY || SOCKET_ERRNO == EINVAL)) /* new stuff LJM */ ret = 0; /* keep going */ else { #ifdef SOCKET_DEBUG_TRACE