On 16.01.2009 20:30, wr...@apache.org wrote:
Author: wrowe
Date: Fri Jan 16 11:30:42 2009
New Revision: 735093

URL: http://svn.apache.org/viewvc?rev=735093&view=rev
Log:
Introduce Win32 AcceptFilter handling.

Divided into 3 classes, this implements the first two;

  * AcceptFilter 'data' - much as on Unix, accept will not complete
    until data is ready to be accepted.  Unlike Unix, it will actually
    fetch the first bucket full of data from the tcp socket, and this
    patch implements passing that bucket into the core net brigade
    in front of the accepted socket.

  * AcceptFilter 'connect' - just as in Apache 2.2, accept will not
    complete until three way handshake is complete and the endpoints
    are resolved, and quickly grabs the endpoint addresses using the
    AcceptEx API (which some people have problems with).  This will
    not be the default.

  * AcceptFilter 'none' [not yet implemented] - will be the traditional
    select/WSAAccept style processing for broken network socket stacks
    and more trivial tcp style connections.  If AcceptEx appears to be
    a problem, the listener will be able to downgrade to 'none'.


Modified:
     httpd/httpd/trunk/server/mpm/winnt/child.c

I built trunk on XP today. When trying to run it, I get a restart loop for the child process, and the error log contains repetitions of:

======================================
[Sun Jan 18 19:20:42 2009] [notice] Apache/2.3.2-dev (Win32) configured -- resuming normal operations
[Sun Jan 18 19:20:42 2009] [notice] Server built: Jan 18 2009 01:17:29
[Sun Jan 18 19:20:42 2009] [notice] Parent: Created child process 4556
[Sun Jan 18 19:20:43 2009] [notice] Child 4556: Child process is running
[Sun Jan 18 19:20:43 2009] [notice] Child 4556: Acquired the start mutex.
[Sun Jan 18 19:20:43 2009] [notice] Child 4556: Starting 150 worker threads.
[Sun Jan 18 19:20:43 2009] [notice] Child 4556: Starting thread to listen on port 8000. [Sun Jan 18 19:20:43 2009] [error] (OS 10038)Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist. : Child 4556: Encountered too many AcceptEx faults accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. [Sun Jan 18 19:20:43 2009] [notice] (OS 10038)Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist. : winnt_mpm: falling back to 'AcceptFilter none'. [Sun Jan 18 19:20:43 2009] [crit] (OS 10038)Ein Vorgang bezog sich auf ein Objekt, das kein Socket ist. : winnt_mpm: AcceptFilter 'none' is not yet supported (a classic WSAAccept logic). Use AcceptFilter 'connect' or 'data' in the meantime [Sun Jan 18 19:20:43 2009] [notice] Child 4556: Exit event signaled. Child process is ending.
[Sun Jan 18 19:20:44 2009] [notice] Child 4556: Released the start mutex
[Sun Jan 18 19:20:45 2009] [notice] Child 4556: All worker threads have exited.
[Sun Jan 18 19:20:45 2009] [notice] Child 4556: Child process is exiting
[Sun Jan 18 19:20:45 2009] [notice] Parent: child process exited with status 0 -- Restarting.
======================================

Since it is my first trunk build on Windows (and don't have VC6), I could have well made a mistake. Just wanted to let you know the result, in case you get the same.

Regards,

Rainer

Reply via email to