httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <>
Subject Re: PR 15282 AcceptEx problem
Date Fri, 28 Feb 2003 23:34:20 GMT
At 05:02 PM 2/28/2003, Allan Edwards wrote:
>Based on the IP address renewal scenario you mention below, testing the 
>Listen socket (somehow, tbd) sounds like a good idea.
>Just to summarize, there are three conditions we need to consider:
>1) we hit the TransmitFile recycle bug many times in a row
>2) we have encountered an incompatible firewall or VPN
>3) the IP address has changed

You seem to have the failcases easily reproduced.  Would you tack in
some quick code that simply uses getsockopt(foo) (any option you like)
to see if simply getting socket options for a now-broken listen socket
will fail?  A simple log message "getsockopt fails as expected" would
be perfect.  Just see if you can tickle the bug and test both the listen
and accept socket.

If the listen socket demonstrates the brokenness, we are good to go.
If not, well, then the code gets ugly :-)

>>Does accept() also fail?  Can we use the 9x code to work around these
>>sorts of problems?
>No, accept() is fine. Using the 9x path *may* work but I haven't
>tested it. The other option Bill S. suggested was to add a directive
>that forces the 9x path. I tend to think that is preferable than a
>run time decision because I'm not sure we can reliably determine
>which path to take at runtime.
>Note: taking the 9x path is only relevant to case 2) above.

++1 for some WindowsSocketsWorkaround on|off flag would be terrific!!!

View raw message