You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by Jeff Trawick <tr...@attglobal.net> on 2001/08/08 01:26:00 UTC

Re: cvs commit: apr/network_io/unix sockets.c

rbb@apache.org writes:

> rbb         01/08/07 13:24:50
> 
>   Modified:    .        CHANGES
>                network_io/unix sockets.c
>   Log:
>   Non-blocking connects shouldn't be calling connect a second
>   time.  According to Single Unix, a non-blocking connect has
>   succeeded when the select pops successfully.  It has failed
>   if the select failed.  The second connect was causing 502's
>   in the httpd-proxy.

If this is really what Single Unix says, it is misinformed :) See my
post yesterday about missing logic.  This is now broken everywhere
instead of just some places.

The text "a non-blocking connect has succeeded or has definitely
failed when the select pops successfully" is more appropriate than
what you mention above.

-- 
Jeff Trawick | trawick@attglobal.net | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Re: cvs commit: apr/network_io/unix sockets.c

Posted by Ryan Bloom <rb...@covalent.net>.
On Tuesday 07 August 2001 16:26, Jeff Trawick wrote:
> rbb@apache.org writes:
> > rbb         01/08/07 13:24:50
> >
> >   Modified:    .        CHANGES
> >                network_io/unix sockets.c
> >   Log:
> >   Non-blocking connects shouldn't be calling connect a second
> >   time.  According to Single Unix, a non-blocking connect has
> >   succeeded when the select pops successfully.  It has failed
> >   if the select failed.  The second connect was causing 502's
> >   in the httpd-proxy.
>
> If this is really what Single Unix says, it is misinformed :) See my
> post yesterday about missing logic.  This is now broken everywhere
> instead of just some places.
>
> The text "a non-blocking connect has succeeded or has definitely
> failed when the select pops successfully" is more appropriate than
> what you mention above.

Yep, you are correct, we should be doing a getsockopt for SO_ERROR
to find the TCP error.  However, what we have today is more correct than
what we had yesterday, because this will actually succeed at the non-blocking
connect.  I'll add the getsockopt right now to finish the patch though.

Ryan

_____________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
Covalent Technologies			rbb@covalent.net
-----------------------------------------------------------------------------

Re: cvs commit: apr/network_io/unix sockets.c

Posted by Ryan Bloom <rb...@covalent.net>.
On Tuesday 07 August 2001 16:26, Jeff Trawick wrote:
> rbb@apache.org writes:
> > rbb         01/08/07 13:24:50
> >
> >   Modified:    .        CHANGES
> >                network_io/unix sockets.c
> >   Log:
> >   Non-blocking connects shouldn't be calling connect a second
> >   time.  According to Single Unix, a non-blocking connect has
> >   succeeded when the select pops successfully.  It has failed
> >   if the select failed.  The second connect was causing 502's
> >   in the httpd-proxy.
>
> If this is really what Single Unix says, it is misinformed :) See my
> post yesterday about missing logic.  This is now broken everywhere
> instead of just some places.
>
> The text "a non-blocking connect has succeeded or has definitely
> failed when the select pops successfully" is more appropriate than
> what you mention above.

Yep, you are correct, we should be doing a getsockopt for SO_ERROR
to find the TCP error.  However, what we have today is more correct than
what we had yesterday, because this will actually succeed at the non-blocking
connect.  I'll add the getsockopt right now to finish the patch though.

Ryan

_____________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
Covalent Technologies			rbb@covalent.net
-----------------------------------------------------------------------------