Diff for /loncom/loncnew between versions 1.25 and 1.26

version 1.25, 2003/09/23 11:22:14 version 1.26, 2003/09/30 11:11:17
Line 45 Line 45
   
 # Change log:  # Change log:
 #    $Log$  #    $Log$
   #    Revision 1.26  2003/09/30 11:11:17  foxr
   #    Add book-keeping hashes to support the re-init procedure.
   #
 #    Revision 1.25  2003/09/23 11:22:14  foxr  #    Revision 1.25  2003/09/23 11:22:14  foxr
 #    Tested ability to receive sigusr2  This is now logged and must be  #    Tested ability to receive sigusr2  This is now logged and must be
 #    properly implemented as a re-read of hosts and re-init of appropriate  #    properly implemented as a re-read of hosts and re-init of appropriate
Line 161  my %perlvar    = %{$perlvarref}; Line 164  my %perlvar    = %{$perlvarref};
 #  parent and shared variables.  #  parent and shared variables.
   
 my %ChildHash; # by pid -> host.  my %ChildHash; # by pid -> host.
   my %HostToPid; # By host -> pid.
   my %HostHash; # by loncapaname -> IP.
   
   
 my $MaxConnectionCount = 10; # Will get from config later.  my $MaxConnectionCount = 10; # Will get from config later.
Line 1520  sub CreateChild { Line 1525  sub CreateChild {
     if($pid) { # Parent      if($pid) { # Parent
  $RemoteHost = "Parent";   $RemoteHost = "Parent";
  $ChildHash{$pid} = $RemoteHost;   $ChildHash{$pid} = $RemoteHost;
    $HostToPid{$host}= $pid;
  sigprocmask(SIG_UNBLOCK, $sigset);   sigprocmask(SIG_UNBLOCK, $sigset);
   
     } else { # child.      } else { # child.
Line 1582  while (! $HostIterator->end()) { Line 1588  while (! $HostIterator->end()) {
   
     my $hostentryref = $HostIterator->get();      my $hostentryref = $HostIterator->get();
     CreateChild($hostentryref->[0]);      CreateChild($hostentryref->[0]);
       $HostHash{$hostentryref->[0]} = $hostentryref->[4];
     $HostIterator->next();      $HostIterator->next();
 }  }
 $RemoteHost = "Parent Server";  $RemoteHost = "Parent Server";
Line 1604  while(1) { Line 1611  while(1) {
     my $deadchild = wait();      my $deadchild = wait();
     if(exists $ChildHash{$deadchild}) { # need to restart.      if(exists $ChildHash{$deadchild}) { # need to restart.
  my $deadhost = $ChildHash{$deadchild};   my $deadhost = $ChildHash{$deadchild};
    delete($HostToPid{$deadhost});
  delete($ChildHash{$deadchild});   delete($ChildHash{$deadchild});
  Log("WARNING","Lost child pid= ".$deadchild.   Log("WARNING","Lost child pid= ".$deadchild.
       "Connected to host ".$deadhost);        "Connected to host ".$deadhost);

Removed from v.1.25  
changed lines
  Added in v.1.26


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>