Diff for /rat/lonuserstate.pm between versions 1.86 and 1.88

version 1.86, 2005/03/15 17:25:51 version 1.88, 2005/03/18 21:55:49
Line 32  package Apache::lonuserstate; Line 32  package Apache::lonuserstate;
 # ------------------------------------------------- modules used by this module  # ------------------------------------------------- modules used by this module
 use strict;  use strict;
 use Apache::Constants qw(:common :http);  use Apache::Constants qw(:common :http);
 use Apache::File;  
 use HTML::TokeParser;  use HTML::TokeParser;
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
Line 540  sub readmap { Line 539  sub readmap {
  return 'No course data available.';   return 'No course data available.';
     }      }
     @cond=('true:normal');      @cond=('true:normal');
     unlink($fn.'.db');      #unlink($fn.'.db');
     unlink($fn.'_symb.db');      #unlink($fn.'_symb.db');
     unlink($fn.'.state');      unlink($fn.'.state');
     unlink($fn.'parms.db');      unlink($fn.'parms.db');
     undef %randompick;      undef %randompick;
Line 589  sub readmap { Line 588  sub readmap {
 # ---------------------------------------------------- Store away initial state  # ---------------------------------------------------- Store away initial state
  {   {
     my $cfh;      my $cfh;
     if ($cfh=Apache::File->new(">$fn.state")) {      if (open($cfh,">$fn.state")) {
  print $cfh join("\n",@cond);   print $cfh join("\n",@cond);
     } else {      } else {
  &Apache::lonnet::logthis("<font color=blue>WARNING: ".   &Apache::lonnet::logthis("<font color=blue>WARNING: ".
Line 597  sub readmap { Line 596  sub readmap {
     }      }
  }     }  
     } else {      } else {
    # if we are here it is likely because we are already trying to 
    # initialize the course in another child, busy wait trying to 
    # tie the hashes for the next 90 seconds, if we succeed forward 
    # them on to navmaps, if we fail, throw up the Could not init 
    # course screen
    untie(%hash);
    untie(%parmhash);
  &Apache::lonnet::logthis("<font color=blue>WARNING: ".   &Apache::lonnet::logthis("<font color=blue>WARNING: ".
  "Could not tie coursemap $fn for $uri.</font>");    "Could not tie coursemap $fn for $uri.</font>"); 
    my $i=0;
    while($i<90) {
       $i++;
       sleep(1);
       if ((tie(%hash,'GDBM_File',"$fn.db",&GDBM_READER(),0640))) {
    if (tie(%parmhash,'GDBM_File',$fn.'_parms.db',&GDBM_READER(),0640)) {
       $retfurl='/adm/navmaps';
       &Apache::lonnet::appenv("request.course.id"  => $short,
       "request.course.fn"  => $fn,
       "request.course.uri" => $uri);
       untie(%hash);
       untie(%parmhash);
       last;
    }
       }
       untie(%hash);
       untie(%parmhash);
    }
     }      }
     &Apache::lonmsg::author_res_msg($ENV{'request.course.uri'},$errtext);      &Apache::lonmsg::author_res_msg($ENV{'request.course.uri'},$errtext);
 # ------------------------------------------------- Check for critical messages  # ------------------------------------------------- Check for critical messages

Removed from v.1.86  
changed lines
  Added in v.1.88


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