better REAPER
authorivan <ivan>
Tue, 25 Sep 2001 00:05:09 +0000 (00:05 +0000)
committerivan <ivan>
Tue, 25 Sep 2001 00:05:09 +0000 (00:05 +0000)
FS/bin/freeside-queued

index 1eef00c..35728db 100644 (file)
@@ -18,20 +18,18 @@ use Net::SSH;
 
 my $pid_file = '/var/run/freeside-queued.pid';
 
-$SIG{CHLD} = sub { wait }; #zombie prevention
-
 my $user = shift or die &usage;
 
 &daemonize;
 
+sub REAPER { my $pid = wait; $SIG{CHLD} = \&REAPER; }
+$SIG{CHLD} =  \&REAPER;
+
  $sigterm = 0;
  $sigint = 0;
 $SIG{INT} = sub { warn "SIGINT received; shutting down\n"; $sigint++; };
 $SIG{TERM} = sub { warn "SIGTERM received; shutting down\n"; $sigterm++; };
 
-#pickup zombie status
-$SIG{CHLD} = sub { wait; };
-
 $> = $FS::UID::freeside_uid unless $>;
 $< = $>;
 $ENV{HOME} = (getpwuid($>))[7]; #for ssh