httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <ma...@worldgate.com>
Subject Re: [PATCH] http_main big patch
Date Mon, 30 Jun 1997 00:20:02 GMT
On Sun, 29 Jun 1997, Dean Gaudet wrote:

> On Sun, 29 Jun 1997, Marc Slemko wrote:
> 
> > Is it wise to remove the (currently) unused child status functions like
> > count_busy_servers()?  While they aren't used right now, other modules may
> > have a use for them.
> 
> None of the shipped modules use them ... and they shouldn't really have
> been globals in the first place.  NT also makes some of those removed
> functions bogus.

Sigh.  Yup, the NT argument takes it.  Note that mod_status in 1.3 outputs
number of threads, etc.:

   Threads: per child: 0
   Excess requests: per child: 0

on Unix, which is mildly bogus.  The directives that apply to those should
also be disabled if the platform doesn't support it.  Perhaps ifdef
MULTITHREAD?

> > Isn't there another sleep(1) or two that should be replaced by a select()?
> > Should we add the option of using poll()?  Probably not worth it since we
> > already have to use select() for other things.
> 
> There are other sleeps ... there's the sleep(10) we use to slow down when
> we've had a fork fail.  There's the sleep(3) that children use during
> cleanup in alloc.c.  But these didn't seem important to fix this way, I
> could be wrong.  I remember it was someone from freebsd-land suggesting
> we switch from sleep to select(), for a signalling reason that I've
> forgotten.

I think the one I am thinking of is the one just below the one you
changed, that is only used if NEED_WAITPID is defined.  Guess only one
platform uses it, so it isn't a big deal.

The reason for switching from sleep has both to do with efficiency and
bogus load averages on some systems and because messing with signals isn't
pretty and has some silly interactions.

Hmm, this change makes the comment about wait_or_timeout in set_signals
obsolete.


> 
> > 
> > I am confused about set_max_daemons_limit.
> > 
> > +static void set_max_daemons_limit (void)
> >  {
> > +    if (daemons_limit > max_daemons_limit) {
> > +       max_daemons_limit = daemons_limit;
> > +    }
> > 
> > So you are just setting this based on MaxServers?  Why not keep a record
> > of the highest slot we have actually used?
> 
> Good change, I'll do it.
> 
> Dean
> 


Mime
View raw message