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