httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <>
Subject Re: fcntl problem in apache-apr.
Date Tue, 13 Apr 1999 19:16:11 GMT

The problem is seen most notably when you have many ports, and some of
them aren't used as often as others.  We use one file per socket to do our
locking, instead of one file for the whole server.

Because of this, if one of the accept threads is in fcntl for a rarely
used socket, that could keep the whole process from exiting.  This becomes
a really big problem on OS's like Linux 2.0.x, where there is a limit on
the number of threads per user.  Because we have to kill our workers
after we kill our acceptor threads (otherwise, we will lose requests), we
have to our acceptors as quickly as possible.  If we wait for the process
to exit, we can hit our thread limit very easily.


On Tue, 13 Apr 1999, Dean Gaudet wrote:

> Uh, isn't it a lot easier to redefine MaxRequestsPerChild as "a child will
> start shutting down after this many requests have been served, but will
> remain until all of its threads have exited".  Then for people who are
> totally anal then can set MaxRPC to N - K where K is the number of threads
> in the child.  Or some other crud like that. 
> i.e. I don't see why it has to be totally accurate, and the problem would
> seem to be solved trivially by just letting the process serve another
> request.
> But then I haven't looked at apache-apr. 
> Dean

Ryan Bloom
4205 S Miami Blvd	
RTP, NC 27709		It's a beautiful sight to see good dancers 
			doing simple steps.  It's a painful sight to
			see beginners doing complicated patterns.	

View raw message