Diff for /loncom/xml/run.pm between versions 1.34 and 1.37

version 1.34, 2003/03/28 23:32:46 version 1.37, 2003/06/09 21:37:54
Line 38  ENDEVALUATE Line 38  ENDEVALUATE
   
 sub evaluate {  sub evaluate {
     my ($expression,$safeeval,$decls) = @_;      my ($expression,$safeeval,$decls) = @_;
       &Apache::lonxml::debug("got $expression and decls $decls");
     unless (defined($expression)) { return ''; }      unless (defined($expression)) { return ''; }
     if ($Apache::lonxml::evaluate < 1) { return $expression; }      if ($Apache::lonxml::evaluate < 1) { return $expression; }
     my $result = '';      my $result = '';
Line 49  sub evaluate { Line 50  sub evaluate {
     };      };
     my $innererror;      my $innererror;
     eval {      eval {
  alarm(Apache->request->server->timeout);   alarm($Apache::lonnet::perlvar{'lonScriptTimeout'});
  $safeeval->reval('{'.$decls.';$_=<<\'EXPRESSION\';'."\n".$expression.   $safeeval->reval('{'.$decls.';$_=<<\'EXPRESSION\';'."\n".$expression.
  "\n".'EXPRESSION'."\n".$EVALUATE_STRING.'}');   "\n".'EXPRESSION'."\n".$EVALUATE_STRING.'}');
  $innererror=$@;   $innererror=$@;
Line 87  sub run { Line 88  sub run {
     };      };
     my $innererror;      my $innererror;
     eval {      eval {
  alarm(Apache->request->server->timeout);   alarm($Apache::lonnet::perlvar{'lonScriptTimeout'});
  @result=$safeeval->reval($code);   @result=$safeeval->reval($code);
  $innererror=$@;   $innererror=$@;
  alarm(0);   alarm(0);
     };      };
     my $error=$@;      my $error=$@;
     &Apache::lonxml::debug("run got $@");  
     if (($Apache::run::timeout || $error ne '' || $innererror ne '') && !$hideerrors) {      if (($Apache::run::timeout || $error ne '' || $innererror ne '') && !$hideerrors) {
  if ($Apache::run::timeout) {   if ($Apache::run::timeout) {
     $error = 'Code ran too long. It ran for more than '.      $error = 'Code ran too long. It ran for more than '.

Removed from v.1.34  
changed lines
  Added in v.1.37


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