--- loncom/lond 2003/09/16 10:28:14 1.146 +++ loncom/lond 2003/09/23 11:23:31 1.147 @@ -2,7 +2,7 @@ # The LearningOnline Network # lond "LON Daemon" Server (port "LOND" 5663) # -# $Id: lond,v 1.146 2003/09/16 10:28:14 foxr Exp $ +# $Id: lond,v 1.147 2003/09/23 11:23:31 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -60,6 +60,12 @@ # 09/08/2003 Ron Fox: Told lond to take care of change logging so we # don't have to remember it: # $Log: lond,v $ +# Revision 1.147 2003/09/23 11:23:31 foxr +# Comlplete implementation of reinit functionality. Must still implement +# the actual initialization functionality, but the process can now +# receive the request and either invoke the appropriate internal function or +# signal the correct lonc. +# # Revision 1.146 2003/09/16 10:28:14 foxr # ReinitProcess - decode the process selector and produce the associated pid # filename. Note: While it is possible to test that valid process selectors are @@ -110,7 +116,7 @@ my $DEBUG = 0; # Non zero to ena my $status=''; my $lastlog=''; -my $VERSION='$Revision: 1.146 $'; #' stupid emacs +my $VERSION='$Revision: 1.147 $'; #' stupid emacs my $remoteVERSION; my $currenthostid; my $currentdomainid; @@ -388,17 +394,25 @@ sub ReinitProcess { # # my ($junk, $process) = split(":", $request); - my $processpidfile = $perlvar{'lonDaemons'}.'/'; + my $processpidfile = $perlvar{'lonDaemons'}.'/logs/'; if($process eq 'lonc') { $processpidfile = $processpidfile."lonc.pid"; + if (!open(PIDFILE, "< $processpidfile")) { + return "error:Open failed for $processpidfile"; + } + my $loncpid = ; + close(PIDFILE); + logthis(' Reinitializing lonc pid='.$loncpid + .""); + kill("USR2", $loncpid); } elsif ($process eq 'lond') { - $processpidfile = $processpidfile."lond.pid"; + logthis(' Reinitializing self (lond) '); + &UpdateHosts; # Lond is us!! } else { &logthis('"); return "error:Invalid process identifier $process"; } - &logthis(' Reinitializing '.$process." "); return 'ok'; } @@ -548,6 +562,7 @@ sub HUPSMAN { # sig # now be honored. # sub UpdateHosts { + logthis(' Updating connections '); } sub checkchildren {