On Wed, 15 May 2002, Lawrence Greenfield wrote:
> service processes without one of those service processes crashing
> (either by the sysadmin or otherwise) then there's some other problem
> in the child accounting.

Well, anything that could cause the messages to be lost will cause trouble
for the accounting without the patch. I can't see any other races in there
right now, though.

I did duplicate the problem caused by children deaths, and I did verify that
the patch fixes the problem, so at least that side of things it seems to
handle well.

Children forking is behaving erratically, though. Before the first connect()
to any of the master-controlled services, a random number of children are
created (up to the prefork setting).  After a connect(), all the missing
children (maybe subject to maxforkrate, I didn't test) are created.  This
might be the way the code is supposed to work, though.

> I'd like to know if there is before doing something that may mask the
> problem completely.

Timing and logging warnings if the children take too much time to tell us
that it is available for work, or die without telling us it was going to
exit cleanly would give out the same information, while avoiding the worst
of the problems the bug creates (no children left to service incoming
requests).  This would complicate the code in master/ a bit, though.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

Reply via email to