Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.587.2.3 and 1.588

version 1.587.2.3, 2005/01/28 09:26:28 version 1.588, 2005/01/13 21:45:08
Line 157  sub reply { Line 157  sub reply {
     my ($cmd,$server)=@_;      my ($cmd,$server)=@_;
     unless (defined($hostname{$server})) { return 'no_such_host'; }      unless (defined($hostname{$server})) { return 'no_such_host'; }
     my $answer=subreply($cmd,$server);      my $answer=subreply($cmd,$server);
       if ($answer eq 'con_lost') {
           #sleep 5; 
           #$answer=subreply($cmd,$server);
           #if ($answer eq 'con_lost') {
    #   &logthis("Second attempt con_lost on $server");
           #   my $peerfile="$perlvar{'lonSockDir'}/$server";
           #   my $client=IO::Socket::UNIX->new(Peer    =>"$peerfile",
           #                                    Type    => SOCK_STREAM,
           #                                    Timeout => 10)
           #              or return "con_lost";
           #   &logthis("Killing socket");
           #   print $client "close_connection_exit\n";
              #sleep 5;
           #   $answer=subreply($cmd,$server);       
          #}   
       }
     if (($answer=~/^refused/) || ($answer=~/^rejected/)) {      if (($answer=~/^refused/) || ($answer=~/^rejected/)) {
        &logthis("<font color=blue>WARNING:".         &logthis("<font color=blue>WARNING:".
                 " $cmd to $server returned $answer</font>");                  " $cmd to $server returned $answer</font>");
Line 204  sub critical { Line 220  sub critical {
     }      }
     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);
  &reconlonc("$perlvar{'lonSockDir'}/$server");   &reconlonc("$perlvar{'lonSockDir'}/$server");
  my $answer=reply($cmd,$server);          my $pongreply=reply('pong',$server);
           &logthis("Ping/Pong for $server: $pingreply/$pongreply");
           $answer=reply($cmd,$server);
         if ($answer eq 'con_lost') {          if ($answer eq 'con_lost') {
             my $now=time;              my $now=time;
             my $middlename=$cmd;              my $middlename=$cmd;
Line 1739  sub get_first_access { Line 1758  sub get_first_access {
     my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();
     if ($argsymb) { $symb=$argsymb; }      if ($argsymb) { $symb=$argsymb; }
     my ($map,$id,$res)=&decode_symb($symb);      my ($map,$id,$res)=&decode_symb($symb);
     if ($type eq 'map') { $res=$map; }      if ($type eq 'map') {
     my %times=&get('firstaccesstimes',[$res],$udom,$uname);   $res=&symbread($map);
     return $times{$res};      } else {
    $res=$symb;
       }
       my %times=&get('firstaccesstimes',["$courseid\0$res"],$udom,$uname);
       return $times{"$courseid\0$res"};
 }  }
   
 sub set_first_access {  sub set_first_access {
     my ($type)=@_;      my ($type)=@_;
     my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();      my ($symb,$courseid,$udom,$uname)=&Apache::lonxml::whichuser();
     my ($map,$id,$res)=&decode_symb($symb);      my ($map,$id,$res)=&decode_symb($symb);
     if ($type eq 'map') { $res=$map; }      if ($type eq 'map') {
     my $firstaccess=&get_first_access($type);   $res=&symbread($map);
       } else {
    $res=$symb;
       }
       my $firstaccess=&get_first_access($type,$symb);
     if (!$firstaccess) {      if (!$firstaccess) {
  return &put('firstaccesstimes',{$res=>time},$udom,$uname);   return &put('firstaccesstimes',{"$courseid\0$res"=>time},$udom,$uname);
     }      }
     return 'already_set';      return 'already_set';
 }  }

Removed from v.1.587.2.3  
changed lines
  Added in v.1.588


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