Jeremy Howard wrote:

 > I've seen a couple of problems over the last few weeks with master
 > apparently failing to correctly maintain the prefork pool. We
 > particularly see this problem with pop3d, which has more
 > connects/disconnects than IMAP because of the nature of the protocol.

<...>

 > The third issue is that when a process fails to shutdown correctly,
 > such as if it segfaults, master does not seem to correctly keep track
 > of the child process count. As a result, eventually the pool runs out
 > and no more connections are accepted.

I've found a way to fix this. In master.c reap_child, add:

   c->s->ready_workers--;

and

   t->s->ready_workers--;

...immediately after the corresponding nactive--. This resolves the
problem for me in the limited testing I've done to date.



Reply via email to