--- loncom/lond 2004/02/06 05:25:16 1.174 +++ loncom/lond 2004/02/17 20:07:25 1.175 @@ -2,7 +2,7 @@ # The LearningOnline Network # lond "LON Daemon" Server (port "LOND" 5663) # -# $Id: lond,v 1.174 2004/02/06 05:25:16 taceyjo1 Exp $ +# $Id: lond,v 1.175 2004/02/17 20:07:25 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -53,7 +53,7 @@ my $DEBUG = 0; # Non zero to ena my $status=''; my $lastlog=''; -my $VERSION='$Revision: 1.174 $'; #' stupid emacs +my $VERSION='$Revision: 1.175 $'; #' stupid emacs my $remoteVERSION; my $currenthostid; my $currentdomainid; @@ -817,14 +817,17 @@ my $children = 0; # sub REAPER { # takes care of dead children $SIG{CHLD} = \&REAPER; &status("Handling child death"); - my $pid = wait; - if (defined($children{$pid})) { - &logthis("Child $pid died"); - $children --; - delete $children{$pid}; - } else { - &logthis("Unknown Child $pid died"); - } + my $pid; + do { + $pid = waitpid(-1,&WNOHANG()); + if (defined($children{$pid})) { + &logthis("Child $pid died"); + $children --; + delete $children{$pid}; + } else { + &logthis("Unknown Child $pid died"); + } + } while ( $pid > 0 ); &status("Finished Handling child death"); } @@ -1020,7 +1023,7 @@ sub logstatus { my $docdir=$perlvar{'lonDocRoot'}; { my $fh=IO::File->new(">>$docdir/lon-status/londstatus.txt"); - print $fh $$."\t".$currenthostid."\t".$status."\t".$lastlog."\n"; + print $fh $$."\t".$clientname."\t".$currenthostid."\t".$status."\t".$lastlog."\n"; $fh->close(); } &status("Finished londstatus.txt");