[freeside-commits] freeside/FS/bin freeside-selfservice-server, 1.16, 1.17

Ivan,,, ivan at wavetail.420.am
Wed Feb 8 14:53:21 PST 2006


Update of /home/cvs/cvsroot/freeside/FS/bin
In directory wavetail:/tmp/cvs-serv13037

Modified Files:
	freeside-selfservice-server 
Log Message:
don't leave ssh zombies around either

Index: freeside-selfservice-server
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/bin/freeside-selfservice-server,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- freeside-selfservice-server	25 Apr 2005 09:33:35 -0000	1.16
+++ freeside-selfservice-server	8 Feb 2006 22:53:18 -0000	1.17
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use vars qw( $Debug %kids $kids $max_kids $ssh_pid $keepalives );
+use vars qw( $Debug %kids $kids $max_kids $ssh_pid %old_ssh_pid $keepalives );
 use subs qw( lock_write unlock_write myshutdown usage );
 use Fcntl qw(:flock);
 use POSIX qw(:sys_wait_h);
@@ -102,6 +102,7 @@
       if ( $ssh_pid ) {
         warn "sending TERM signal to ssh process $ssh_pid\n" if $Debug;
         kill 'TERM', $ssh_pid;
+        $old_ssh_pid{$ssh_pid} = 1;
         $ssh_pid = 0;
       }
       last;
@@ -180,6 +181,10 @@
       delete $kids{$kid};
     }
   }
+
+  foreach my $pid ( keys %old_ssh_pid ) {
+    waitpid($pid, WNOHANG) and delete $old_ssh_pid{$pid};
+  }
   #warn "done reaping\n";
 }
 



More information about the freeside-commits mailing list