Diff for /loncom/interface/printout.pl between versions 1.128 and 1.129

version 1.128, 2007/10/11 22:49:49 version 1.129, 2008/01/28 11:24:48
Line 379  foreach $texfile (@texfile) { Line 379  foreach $texfile (@texfile) {
       my $dvi_file= $name_file; $dvi_file =~ s/\.tex/$name_range\.dvi/;        my $dvi_file= $name_file; $dvi_file =~ s/\.tex/$name_range\.dvi/;
       &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",        &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",
  "for $status_statement now LaTeXing file",   "for $status_statement now LaTeXing file",
  \%prog_state,$dvi_file);   \%prog_state,$dvi_file, 10);
       if ($tableofcontents eq 'yes') {        if ($tableofcontents eq 'yes') {
       &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",        &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",
  "for $status_statement First LaTeX of file for table of contents",   "for $status_statement First LaTeX of file for table of contents",
  \%prog_state,$dvi_file);   \%prog_state,$dvi_file, 10);
       &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",        &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",
  "for $status_statement Second LaTeX of file for table of contents",   "for $status_statement Second LaTeX of file for table of contents",
  \%prog_state,$dvi_file);   \%prog_state,$dvi_file,10);
       } #to create table of contents        } #to create table of contents
       my $idxname=$name_file;        my $idxname=$name_file;
       $idxname=~s/\.tex$/\.idx/;        $idxname=~s/\.tex$/\.idx/;
Line 396  foreach $texfile (@texfile) { Line 396  foreach $texfile (@texfile) {
      \%prog_state,$idxname);       \%prog_state,$idxname);
   &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $name_file 1>/dev/null 2>/dev/null",
      "for $status_statement now LaTeXing file for index section",       "for $status_statement now LaTeXing file for index section",
      \%prog_state,$dvi_file);       \%prog_state,$dvi_file,10);
       } #to create index        } #to create index
       #Do we have a latex error in the log file?        #Do we have a latex error in the log file?
       my $logfilename = $texfile; $logfilename =~ s/\.tex$/\.log/;        my $logfilename = $texfile; $logfilename =~ s/\.tex$/\.log/;
Line 512  foreach $texfile (@texfile) { Line 512  foreach $texfile (@texfile) {
       #        #
       &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",        &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
  "for $status_statement first latex to repaginate",   "for $status_statement first latex to repaginate",
  \%prog_state, $name_file);   \%prog_state, $name_file,10);
       if ($tableofcontents eq 'yes') {        if ($tableofcontents eq 'yes') {
   &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
      "for $status_statement second latex to repaginate",       "for $status_statement second latex to repaginate",
      \%prog_state, $name_file);       \%prog_state, $name_file,10);
   &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
      "for $status_statement third latex to repaginate",       "for $status_statement third latex to repaginate",
      \%prog_state, $name_file);       \%prog_state, $name_file,10);
       }        }
       if ($tableofindex eq 'yes') {        if ($tableofindex eq 'yes') {
   my $idxname = $latex_file;    my $idxname = $latex_file;
Line 529  foreach $texfile (@texfile) { Line 529  foreach $texfile (@texfile) {
      \%prog_state, $idxname);       \%prog_state, $idxname);
   &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
      "for $status_statement now Recreting index (latex)",       "for $status_statement now Recreting index (latex)",
      \%prog_state, $dvi_file);       \%prog_state, $dvi_file,10);
   
       }        }
       &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null",        &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null",
Line 685  foreach $texfile (@texfile) { Line 685  foreach $texfile (@texfile) {
       &repaginate($new_name_file, $latex_file,  $numberofcolumns);        &repaginate($new_name_file, $latex_file,  $numberofcolumns);
       &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",        &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
  "for $status_statement first latex to repaginate",   "for $status_statement first latex to repaginate",
  \%prog_state, $name_file);   \%prog_state, $name_file,10);
       if ($tableofcontents eq 'yes') {        if ($tableofcontents eq 'yes') {
   &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
      "for $status_statement second latex to repaginate",       "for $status_statement second latex to repaginate",
      \%prog_state, $name_file);       \%prog_state, $name_file,10);
   &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
      "for $status_statement third latex to repaginate",       "for $status_statement third latex to repaginate",
      \%prog_state, $name_file);       \%prog_state, $name_file,10);
       }        }
       if ($tableofindex eq 'yes') {        if ($tableofindex eq 'yes') {
   my $idxname = $latex_file;    my $idxname = $latex_file;
Line 702  foreach $texfile (@texfile) { Line 702  foreach $texfile (@texfile) {
      \%prog_state, $idxname);       \%prog_state, $idxname);
   &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",    &busy_wait_command("latex $latex_file 1>/dev/null 2>/dev/null",
      "for $status_statement now Recreting index (latex)",       "for $status_statement now Recreting index (latex)",
      \%prog_state, $dvi_file);       \%prog_state, $dvi_file,10);
       }        }
       &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null",        &busy_wait_command("$comma $name_file 1>/dev/null 2>/dev/null",
  "for $status_statement dvips to repaginate",   "for $status_statement dvips to repaginate",
Line 794  my $done; Line 794  my $done;
 sub REAPER {  sub REAPER {
     $done=1;      $done=1;
 }  }
   #
   #  Execute a command updating the status window as the command's
   #  output file builds up (at intervals of a second).
   #
   #   If the timeout argument defined, then if that many seconds
   #   elapses without an increase in the size of the output file,
   #   the command will be killed (this deals with the case when
   #   latex crawls into an infinite loop).
   #
 sub busy_wait_command {  sub busy_wait_command {
     my ($command,$message,$progress_win,$output_file)=@_;      my ($command,$message,$progress_win,$output_file, $timeout)=@_;
           
     $SIG{CHLD} = \&REAPER;      $SIG{CHLD} = \&REAPER;
     $done=0;      $done=0;
Line 804  sub busy_wait_command { Line 812  sub busy_wait_command {
     if ($advanced_role) {      if ($advanced_role) {
  &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,$message);   &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,$message);
     }      }
       my $last_size      = 0;
       my $unchanged_time = 0;
     while(!$done) {      while(!$done) {
  sleep 1;   sleep 1;
  my $extra_msg;   my $extra_msg;
  if ($output_file) {   if ($output_file) {
     my $size=(stat($output_file))[7];      my $size=(stat($output_file))[7];
     $extra_msg=", $size bytes generated";      $extra_msg=", $size bytes generated";
       if ($size == $last_size) {
    $unchanged_time++;
    if ($timeout && ($unchanged_time > $timeout)) {
       kill(9, $pid); # Reaper will do the rest...I hope there's errors in the log.
    }
       } else {
    $last_size      = $size;
    $unchanged_time = 0;
       }
  }   }
  if ($advanced_role) {   if ($advanced_role) {
     &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,      &Apache::lonhtmlcommon::Update_PrgWin('',$progress_win,

Removed from v.1.128  
changed lines
  Added in v.1.129


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