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