Patrick Ben Koetter <[email protected]> wrote:

Scott, look at the diff below. Mark posted this a while ago. * Scott Kitterman 
<[email protected]>: > Patrick Ben Koetter <[email protected]> wrote: > 
> * Florian Effenberger <[email protected]>: > I just discovered some woes with 
> amavis on Natty. Maybe someone can > confirm, so a fix could make it right > 
into the release: > > 
https://bugs.launchpad.net/ubuntu/+source/amavisd-new/+bug/731878 I think > 
this goes back to a problem in Net::Server, which doesn't kill old processes > 
correctly when /etc/init.d/amavis force-reload has been executed. Marc > posted 
a fix for this to the (old) list. p@rick > > I thought I checked when that was 
discussed and Natty had the fixed version. > Which version do we need (or even 
better, please point me at the patch again > and I'll do a code check)? The 
following patch against Net-Server-0.99 seems to handle it: --- 
Net/Server/PreFork.pm~ 2010-07-08 21:13:47.000000000 +0200 +++ PreFork.pm 
2011-01-04 18:48:54.103050023 +0100 @@ -331,4 +3
 31,13
@@ ); + ### reclaim process exit status from any terminated child process + ### 
inherited from a previous incarnation whose SIGCHLD signal was + ### ignored 
during a blind period between a restart and the moment + ### when the SIGCHLD 
handler was established just now + while ( defined(my $chld = waitpid(-1, 
WNOHANG)) ){ + last unless $chld > 0; + $self->{reaped_children}->{$chld} = 1; 
+ } + ### loop on reading info from the children while( 1 ){ --- 
Net/Server/PreForkSimple.pm~ 2010-05-05 05:01:58.000000000 +0200 +++ 
Net/Server/PreForkSimple.pm 2011-01-04 18:40:23.631629852 +0100 @@ -332,4 
+332,13 @@ ); + ### reclaim process exit status from any terminated child 
process + ### inherited from a previous incarnation whose SIGCHLD signal was + 
### ignored during a blind period between a restart and the moment + ### when 
the SIGCHLD handler was established just now + while ( defined(my $chld = 
waitpid(-1, WNOHANG)) ){ + last unless $chld > 0; + $self->delete_child($chld); 
+ } + ###
  loop
forever while( 1 ){ -- All technical questions asked privately will be 
automatically answered on the list and archived for public access unless 
privacy is explicitely required and justified. saslfinger (debugging SMTP 
AUTH): <http://postfix.state-of-mind.de/patrick.koetter/saslfinger/>; 


Thanks. I'll check it later today and get it uploaded (assuming it's not 
already there).

Scott K

Reply via email to