[LON-CAPA-cvs] cvs: loncom(version_1_2_X) / lond
albertel
lon-capa-cvs@mail.lon-capa.org
Mon, 02 Aug 2004 21:02:20 -0000
albertel Mon Aug 2 17:02:20 2004 EDT
Modified files: (Branch: version_1_2_X)
/loncom lond
Log:
- backport 1.221
Index: loncom/lond
diff -u loncom/lond:1.205 loncom/lond:1.205.2.1
--- loncom/lond:1.205 Sat Jul 3 14:49:42 2004
+++ loncom/lond Mon Aug 2 17:02:20 2004
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.205 2004/07/03 18:49:42 raeburn Exp $
+# $Id: lond,v 1.205.2.1 2004/08/02 21:02:20 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -50,13 +50,14 @@
use LONCAPA::ConfigFileEdit;
use LONCAPA::lonlocal;
use LONCAPA::lonssl;
+use Fcntl qw(:flock);
my $DEBUG = 0; # Non zero to enable debug log entries.
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.205 $'; #' stupid emacs
+my $VERSION='$Revision: 1.205.2.1 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid;
my $currentdomainid;
@@ -1145,10 +1146,11 @@
&logthis('Going to check on the children');
my $docdir=$perlvar{'lonDocRoot'};
foreach (sort keys %children) {
- sleep 1;
+ #sleep 1;
unless (kill 'USR1' => $_) {
&logthis ('Child '.$_.' is dead');
&logstatus($$.' is dead');
+ delete($children{$_});
}
}
sleep 5;
@@ -1166,6 +1168,7 @@
#my $result=`echo 'Killed lond process $_.' | mailto $emailto -s '$subj' > /dev/null`;
#$execdir=$perlvar{'lonDaemons'};
#$result=`/bin/cp $execdir/logs/lond.log $execdir/logs/lond.log.$_`;
+ delete($children{$_});
alarm(0);
}
}
@@ -1173,6 +1176,7 @@
$SIG{ALRM} = 'DEFAULT';
$SIG{__DIE__} = \&catchexception;
&status("Finished checking children");
+ &logthis('Finished Checking children');
}
# --------------------------------------------------------------------- Logging
@@ -1217,17 +1221,19 @@
&status("Doing logging");
my $docdir=$perlvar{'lonDocRoot'};
{
- my $fh=IO::File->new(">>$docdir/lon-status/londstatus.txt");
- print $fh $$."\t".$clientname."\t".$currenthostid."\t"
- .$status."\t".$lastlog."\t $keymode\n";
- $fh->close();
- }
- &status("Finished londstatus.txt");
- {
my $fh=IO::File->new(">$docdir/lon-status/londchld/$$.txt");
print $fh $status."\n".$lastlog."\n".time."\n$keymode";
$fh->close();
}
+ &status("Finished $$.txt");
+ {
+ open(LOG,">>$docdir/lon-status/londstatus.txt");
+ flock(LOG,LOCK_EX);
+ print LOG $$."\t".$clientname."\t".$currenthostid."\t"
+ .$status."\t".$lastlog."\t $keymode\n";
+ flock(DB,LOCK_UN);
+ close(LOG);
+ }
&status("Finished logging");
}