[LON-CAPA-cvs] cvs: loncom(version_0_6) / lond
albertel
lon-capa-cvs@mail.lon-capa.org
Fri, 14 Mar 2003 21:25:44 -0000
albertel Fri Mar 14 16:25:44 2003 EDT
Modified files: (Branch: version_0_6)
/loncom lond
Log:
- backport of 1.113 (lond parent can get stuck trying to send mail)
Index: loncom/lond
diff -u loncom/lond:1.103 loncom/lond:1.103.2.1
--- loncom/lond:1.103 Wed Oct 30 09:50:04 2002
+++ loncom/lond Fri Mar 14 16:25:44 2003
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.103 2002/10/30 14:50:04 www Exp $
+# $Id: lond,v 1.103.2.1 2003/03/14 21:25:44 albertel Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -272,17 +272,25 @@
}
}
sleep 5;
+ $SIG{ALRM} = sub { die "timeout" };
+ $SIG{__DIE__} = 'DEFAULT';
foreach (sort keys %children) {
unless (-e "$docdir/lon-status/londchld/$_.txt") {
+ eval {
+ alarm(300);
&logthis('Child '.$_.' did not respond');
kill 9 => $_;
$emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}";
$subj="LON: $perlvar{'lonHostID'} killed lond process $_";
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.$_`
+ $result=`/bin/cp $execdir/logs/lond.log $execdir/logs/lond.log.$_`;
+ alarm(0);
+ }
}
}
+ $SIG{ALRM} = 'DEFAULT';
+ $SIG{__DIE__} = \&cathcexception;
}
# --------------------------------------------------------------------- Logging