This is kind of an odd problem and I'm not sure what to do.

For quite a while I had apparent Perl signal-handling problems -- in
particular, I couldn't kill spamd, I had to use kill -9.  Recently I
recompiled Perl in an effort to fix this.  I'm using the same Perl version
(5.6.1), however I believe the original was probably compiled with -O2, which
is buggy on Alphas.  I recompiled with -O.

Now spamd responds properly to kill, and 'make test' passes.  However, when
the child processes hit their max-conn-per-child thresholds, they are never
respawned.  In fact, they just sit there as zombies:

66909  ??  Is     0:02.82 /usr/local/bin/spamd -d --max-conn-per-child=1 (perl)
66912  ??  Z      0:00.00  (perl)
66913  ??  Z      0:00.00  (perl)
66914  ??  S      0:00.02 spamd child (perl)
66915  ??  S      0:00.02 spamd child (perl)
66916  ??  S      0:00.02 spamd child (perl)

Eventually, I run out of spamd processes.

Does anyone have any idea what's going on here?

Reply via email to