Diff for /loncom/loncnew between versions 1.48 and 1.51

version 1.48, 2004/06/17 10:15:46 version 1.51, 2004/08/26 12:35:10
Line 82  my $ClientConnection = 0; # Uniquifier f Line 82  my $ClientConnection = 0; # Uniquifier f
   
 my $DebugLevel = 0;  my $DebugLevel = 0;
 my $NextDebugLevel= 2; # So Sigint can toggle this.  my $NextDebugLevel= 2; # So Sigint can toggle this.
 my $IdleTimeout= 3600; # Wait an hour before pruning connections.  my $IdleTimeout= 600; # Wait 10 minutes before pruning connections.
   
 my $LogTransactions = 0; # When True, all transactions/replies get logged.  my $LogTransactions = 0; # When True, all transactions/replies get logged.
   
Line 103  my $RecentLogEntry  = ""; Line 103  my $RecentLogEntry  = "";
 my $ConnectionRetries=2; # Number of connection retries allowed.  my $ConnectionRetries=2; # Number of connection retries allowed.
 my $ConnectionRetriesLeft=2; # Number of connection retries remaining.  my $ConnectionRetriesLeft=2; # Number of connection retries remaining.
 my $LondVersion     = "unknown"; # Version of lond we talk with.  my $LondVersion     = "unknown"; # Version of lond we talk with.
   my $KeyMode         = "";       # e.g. ssl, local, insecure from last connect.
   
   my $LongTickLength  = 10000000; #Tick Frequency when Idle
   my $ShortTickLength = 1;        #Tick Frequency when Active (many places in
                                   # the code assume this is one)
   my $TickLength      = $ShortTickLength;#number of seconds to wait until ticking
 #  #
 #   The hash below gives the HTML format for log messages  #   The hash below gives the HTML format for log messages
 #   given a severity.  #   given a severity.
Line 292  sub Tick { Line 297  sub Tick {
     my $client;      my $client;
     if($ConnectionRetriesLeft > 0) {      if($ConnectionRetriesLeft > 0) {
  ShowStatus(GetServerHost()." Connection count: ".$ConnectionCount   ShowStatus(GetServerHost()." Connection count: ".$ConnectionCount
    ." Retries remaining: ".$ConnectionRetriesLeft);     ." Retries remaining: ".$ConnectionRetriesLeft
      ." ($KeyMode)");
     } else {      } else {
  ShowStatus(GetServerHost()." >> DEAD <<");   ShowStatus(GetServerHost()." >> DEAD <<");
     }      }
Line 301  sub Tick { Line 307  sub Tick {
   
     if($IdleConnections->Count()  &&       if($IdleConnections->Count()  && 
        ($WorkQueue->Count() == 0)) { # Idle connections and nothing to do?         ($WorkQueue->Count() == 0)) { # Idle connections and nothing to do?
  $IdleSeconds++;   $IdleSeconds+=$TickLength;
  if($IdleSeconds > $IdleTimeout) { # Prune a connection...   if($IdleSeconds > $IdleTimeout) { # Prune a connection...
     my $Socket = $IdleConnections->pop();      my $Socket = $IdleConnections->pop();
     KillSocket($Socket);      KillSocket($Socket);
       if ($IdleConnections->Count() == 0) {
    &SetupTimer($LongTickLength);
       }
  }   }
     } else {      } else {
  $IdleSeconds = 0; # Reset idle count if not idle.   $IdleSeconds = 0; # Reset idle count if not idle.
Line 347  sub Tick { Line 356  sub Tick {
  }   }
                 
     }      }
       if ($ConnectionCount == 0) {
    $KeyMode = ""; 
       }
 }  }
   
 =pod  =pod
Line 365  Trigger disconnections of idle sockets. Line 377  Trigger disconnections of idle sockets.
   
 =cut  =cut
   
   my $timer;
 sub SetupTimer {  sub SetupTimer {
     Debug(6, "SetupTimer");      my ($newLength)=@_;
     Event->timer(interval => 1, cb => \&Tick );      Debug(6, "SetupTimer $TickLength->$newLength");
       $TickLength=$newLength;
       if ($timer) { $timer->cancel; }
       $timer=Event->timer(interval => $TickLength, cb => \&Tick );
 }  }
   
 =pod  =pod
Line 387  long enough, it will be shut down and re Line 403  long enough, it will be shut down and re
   
 sub ServerToIdle {  sub ServerToIdle {
     my $Socket   = shift; # Get the socket.      my $Socket   = shift; # Get the socket.
       $KeyMode = $Socket->{AuthenticationMode};
     delete($ActiveTransactions{$Socket}); # Server has no transaction      delete($ActiveTransactions{$Socket}); # Server has no transaction
   
     &Debug(5, "Server to idle");      &Debug(5, "Server to idle");
Line 1226  sub QueueTransaction { Line 1243  sub QueueTransaction {
     EmptyQueue(); # Fail transactions, can't make connection.      EmptyQueue(); # Fail transactions, can't make connection.
     CloseAllLondConnections; # Should all be closed but...      CloseAllLondConnections; # Should all be closed but...
  }   }
    &SetupTimer($ShortTickLength);
     } else {      } else {
  ShowStatus(GetServerHost()." >>> DEAD !!!! <<<");   ShowStatus(GetServerHost()." >>> DEAD !!!! <<<");
  EmptyQueue(); # It's worse than that ... he's dead Jim.   EmptyQueue(); # It's worse than that ... he's dead Jim.
Line 1515  sub ChildProcess { Line 1533  sub ChildProcess {
   cb       => \&ToggleDebug,    cb       => \&ToggleDebug,
   data     => "INT");    data     => "INT");
   
     SetupTimer();      SetupTimer($LongTickLength);
           
     SetupLoncListener();      SetupLoncListener();
           

Removed from v.1.48  
changed lines
  Added in v.1.51


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