--- loncom/loncron 2007/04/13 18:26:22 1.73 +++ loncom/loncron 2007/05/31 05:20:18 1.74 @@ -2,7 +2,7 @@ # Housekeeping program, started by cron, loncontrol and loncron.pl # -# $Id: loncron,v 1.73 2007/04/13 18:26:22 albertel Exp $ +# $Id: loncron,v 1.74 2007/05/31 05:20:18 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -81,7 +81,9 @@ sub start_daemon { } my $error_fname="$perlvar{'lonDaemons'}/logs/${daemon}_errors"; &rotate_logfile($error_fname,$fh,'error logs'); - + if ($daemon eq 'lonc') { + &clean_sockets($fh); + } system("$perlvar{'lonDaemons'}/$progname 2>$perlvar{'lonDaemons'}/logs/${daemon}_errors"); sleep 1; if (-e $pidfile) { @@ -399,6 +401,21 @@ sub clean_lonIDs { &log($fh,"

$active open session(s)

"); } +# ----------------------------------------------------------- clean out sockets +sub clean_sockets { + my ($fh)=@_; + my $cleaned=0; + opendir(SOCKETS,$perlvar{'lonSockDir'}); + while (my $fname=readdir(SOCKETS)) { + next if (-d $fname + || $fname=~/(mysqlsock|maximasock|\Q$perlvar{'lonSockDir'}\E)/); + $cleaned++; + &log($fh,"Unlinking $fname
"); + unlink("/home/httpd/sockets/$fname"); + } + &log($fh,"

Cleaned up ".$cleaned." stale sockets.

"); +} + # ----------------------------------------------------------------------- httpd sub check_httpd_logs {