Diff for /loncom/lonmaxima between versions 1.17 and 1.18

version 1.17, 2006/03/09 21:38:26 version 1.18, 2006/05/10 01:08:01
Line 52  my $pidfile;                           # Line 52  my $pidfile;                           #
 my $port;                              # path to UNIX socket file  my $port;                              # path to UNIX socket file
 my %perlvar;                           # configuration file info  my %perlvar;                           # configuration file info
 my $lastlog;                           # last string that was logged  my $lastlog;                           # last string that was logged
   
 use vars qw($PREFORK $MAX_CLIENTS_PER_CHILD %children $children $status  use vars qw($PREFORK $MAX_CLIENTS_PER_CHILD %children $children $status
     $pidfile $port %perlvar $lastlog);      $pidfile $port %perlvar $lastlog);
     
Line 257  sub make_new_child { Line 258  sub make_new_child {
            &getmaximaoutput($command);             &getmaximaoutput($command);
            while (my $cmd=<$client>) {             while (my $cmd=<$client>) {
               &status('Processing command');                &status('Processing command');
         &sync($command);
               print $command &unescape($cmd);                print $command &unescape($cmd);
               my $reply=&getmaximaoutput($command);                my $reply=&getmaximaoutput($command);
               print $client &escape($reply)."\n";                print $client &escape($reply)."\n";
Line 281  sub make_new_child { Line 283  sub make_new_child {
     }      }
 }  }
   
   {
       my $counter;
       sub sync {
    my ($command)=@_;
    $counter++;
    my $expect=$counter.time;
    print $command "$expect;\n";
    while (1) {
       my $output=&getmaximaoutput($command);
       if (($output=~/\Q$expect\E/) || ($output=~/^Error\:/)) {
    return;
       }
    }
       }
   }
   
 sub getmaximaoutput {  sub getmaximaoutput {
     my ($command)=@_;      my ($command)=@_;
     my (undef,$error,undef,$output)=$command->expect(20, -re => '\(\%i\d+\)');      my (undef,$error,undef,$output)=$command->expect(20, -re => '\(\%i\d+\)');

Removed from v.1.17  
changed lines
  Added in v.1.18


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