Mail Archives: cygwin/2001/09/04/21:42:03
------=_NextPart_000_01B2_01C13571.3D9E84E0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Hi.
lynx's second "confirm-ready" connect returns EINVAL
rather than EINPROGRESS on lynx 2.8.4-1 on my Win2K laptop,
but worked fine on a (slower) Win98SE desktop, so
it doesn't seem consistently reproducible. I'd speculate that it
happens on faster machines (the laptop is a 650Mhz PIII and
all the machines that were mentioned in past problem reports seem
like moderately fast boxes)
I've seen several past references to this kind of problem in the list,
but none of them seemed to solve it for me. The patch here is a kludge: the correct answer is probably to get cygwin connect
to return EINPROGRESS (Corinna, is it possible that your
fix from 1.1.6 mentioned in this URL is missing from 1.3?)
http://sources.redhat.com/ml/cygwin/2000-12/msg00421.html
Some past reports are in:
http://sources.redhat.com/ml/cygwin/2001-08/msg00560.html
http://sources.redhat.com/ml/cygwin/2001-08/msg00355.html
http://sources.redhat.com/ml/cygwin/2001-07/msg01192.html
Has a possible fix from Saurabh Gupta,
didn't seem to work for me. I think the kludge I made
will work for him (judging from his trace, which is
very similar to the output I saw)
http://www.flora.org/lynx-dev/html/month112000/msg00159.html
Mark.
------=_NextPart_000_01B2_01C13571.3D9E84E0
Content-Type: application/octet-stream;
name="PATCH"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
filename="PATCH"
lynx 2.8.4-1 produces an "Alert: Unable to connect to remote host"=0A=
error. wget (and other networking programs) work fine.=0A=
lynx -trace shows a problem in the call to confirm-ready connect().=0A=
=0A=
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 =3D 22).
=0A=
Some previous fixes have tried raising the timeout, but it seems=0A=
to me that the second connect on the non-blocking socket is=0A=
failing with EINVAL rather than EISCONN/EADDRINUSE/EALREADY.=0A=
Can one really rely on the semantics of a second connect on=0A=
a non-blocking socket? Adding a test for EINVAL causes=0A=
it to work fine on a wide variety of web servers (high-speed LAN=0A=
and really distant slow Internet connections) Trace now shows:=0A=
=0A=
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/'
=0A=
The set of configure options in Cygwin.README didn't work for me,=0A=
I had to make a few changes, also included in the patch below.=0A=
=0A=
Mark.=0A=
=0A=
--- Cygwin-.README Fri Aug 31 18:38:21 2001=0A=
+++ Cygwin.README Fri Aug 31 22:34:17 2001=0A=
@@ -3,10 +3,11 @@=0A=
--prefix=3D/usr=0A=
--sysconfdir=3D/etc=0A=
--libdir=3D/usr/share=0A=
- --docdir=3D/usr/doc/lynx=0A=
- --helpdir=3D/usr/doc/lynx/lynx_help=0A=
+ --with-docdir=3D/usr/doc/lynx=0A=
+ --with-helpdir=3D/usr/doc/lynx/lynx_help=0A=
--with-ssl=0A=
- --with-ncurses=0A=
- --enable-default-colors=0A=
+ --with-screen=3Dncurses=0A=
+ --disable-default-colors=0A=
--enable-nls=0A=
--with-nls-datadir=3D/usr/share=0A=
+ --with-zlib=0A=
--- WWW/Library/Implementation/HTTCP-.c Fri Aug 31 18:20:08 2001=0A=
+++ WWW/Library/Implementation/HTTCP.c Fri Aug 31 18:35:59 2001=0A=
@@ -1801,7 +1801,7 @@=0A=
status =3D 0;=0A=
}=0A=
=0A=
- if (status && (SOCKET_ERRNO =3D=3D EALREADY)) /* new stuff LJM */=0A=
+ if (status && (SOCKET_ERRNO =3D=3D EALREADY || SOCKET_ERRNO =3D=3D =
EINVAL)) /* new stuff LJM */=0A=
ret =3D 0; /* keep going */=0A=
else {=0A=
#ifdef SOCKET_DEBUG_TRACE=0A=
------=_NextPart_000_01B2_01C13571.3D9E84E0
Content-Type: text/plain; charset=us-ascii
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
------=_NextPart_000_01B2_01C13571.3D9E84E0--
- Raw text -