Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.3 and 1.5

version 1.3, 1999/11/16 22:00:17 version 1.5, 1999/11/22 17:23:13
Line 1 Line 1
 # The LearningOnline Network  # The LearningOnline Network
 # TCP networking package  # TCP networking package
 # 6/1/99,6/2,6/10,6/11,6/12,6/14,6/26,6/28,6/29,6/30,  # 6/1/99,6/2,6/10,6/11,6/12,6/14,6/26,6/28,6/29,6/30,
 # 7/1,7/2,7/9,7/10,7/12,7/14,7/15,7/19,11/8,11/16 Gerd Kortemeyer  # 7/1,7/2,7/9,7/10,7/12,7/14,7/15,7/19,
   # 11/8,11/16,11/18,11/22 Gerd Kortemeyer
   
 package Apache::lonnet;  package Apache::lonnet;
   
Line 54  sub reply { Line 55  sub reply {
     return $answer;      return $answer;
 }  }
   
 # ------------------------------------------------ Try to send delayed messages  
   
 sub senddelayed {  
     my $server=shift;  
     my $dfname;  
     my $path="$perlvar{'lonSockDir'}/delayed";  
     while ($dfname=<$path/*.$server>) {  
         my $wcmd;  
         {  
          my $dfh=Apache::File->new($dfname);  
          $wcmd=<$dfh>;  
         }  
         my ($server,$cmd)=split(/:/,$wcmd);  
         chomp($cmd);  
         my $answer=subreply($cmd,$server);  
         if ($answer ne 'con_lost') {  
     unlink("$dfname");  
             &logthis("Delayed $cmd to $server: $answer");  
             &logperm("S:$server:$cmd");  
         }          
     }  
 }  
   
 # ----------------------------------------------------------- Send USR1 to lonc  # ----------------------------------------------------------- Send USR1 to lonc
   
 sub reconlonc {  sub reconlonc {
Line 106  sub reconlonc { Line 84  sub reconlonc {
 # ------------------------------------------------------ Critical communication  # ------------------------------------------------------ Critical communication
 sub critical {  sub critical {
     my ($cmd,$server)=@_;      my ($cmd,$server)=@_;
     &senddelayed($server);  
     my $answer=reply($cmd,$server);      my $answer=reply($cmd,$server);
     if ($answer eq 'con_lost') {      if ($answer eq 'con_lost') {
         my $pingreply=reply('ping',$server);          my $pingreply=reply('ping',$server);
Line 117  sub critical { Line 94  sub critical {
         if ($answer eq 'con_lost') {          if ($answer eq 'con_lost') {
             my $now=time;              my $now=time;
             my $middlename=$cmd;              my $middlename=$cmd;
               $middlename=substr($middlename,0,16);
             $middlename=~s/\W//g;              $middlename=~s/\W//g;
             my $dfilename=              my $dfilename=
              "$perlvar{'lonSockDir'}/delayed/$now.$middlename.$server";               "$perlvar{'lonSockDir'}/delayed/$now.$middlename.$server";
Line 149  sub critical { Line 127  sub critical {
     return $answer;      return $answer;
 }  }
   
   # ---------------------------------------------------------- Append Environment
   
   sub appenv {
       my ($name,$value)=@_;
       my $fh;
       unless ($fh=Apache::File->new(">>$ENV{'user.environment'}")) {
    return 'error';
       }
       print $fh "$name=$value\n";
       return 'ok';
   }
   
 # ------------------------------ Find server with least workload from spare.tab  # ------------------------------ Find server with least workload from spare.tab
 sub spareserver {  sub spareserver {

Removed from v.1.3  
changed lines
  Added in v.1.5


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