[LON-CAPA-cvs] cvs: loncom /xml run.pm

albertel lon-capa-cvs@mail.lon-capa.org
Thu, 23 May 2002 21:15:34 -0000


albertel		Thu May 23 17:15:34 2002 EDT

  Modified files:              
    /loncom/xml	run.pm 
  Log:
  - do timeout checking for variable evaluations too
  - check if $Apache::lonxml::request is valid first (in case undef was passed in instead)
  
  
Index: loncom/xml/run.pm
diff -u loncom/xml/run.pm:1.28 loncom/xml/run.pm:1.29
--- loncom/xml/run.pm:1.28	Thu May 23 17:12:44 2002
+++ loncom/xml/run.pm	Thu May 23 17:15:34 2002
@@ -1,6 +1,6 @@
 package Apache::run;
 #
-# $Id: run.pm,v 1.28 2002/05/23 21:12:44 albertel Exp $
+# $Id: run.pm,v 1.29 2002/05/23 21:15:34 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -43,8 +43,12 @@
   if (!$Apache::lonxml::evaluate) { return $expression; }
   my $result = '';
   $@='';
+  if ($Apache::lonxml::request) {
+    $Apache::lonxml::request->hard_timeout("Apache::run::run, evaluation $code");
+  }
   $safeeval->reval('{'.$decls.';$_=<<\'EXPRESSION\';'."\n".$expression.
 		   "\n".'EXPRESSION'."\n".$EVALUATE_STRING.'}');
+  if ($Apache::lonxml::request) { $Apache::lonxml::request->kill_timeout; }
 #  $safeeval->reval('{'.$decls.';<< &evaluate(q|'.$expression.'|);}');
   my $error=$@;
   if ($@ eq '') {
@@ -62,9 +66,11 @@
   my ($code,$safeeval,$hideerrors) = @_;
 #  print "inside run\n";
   $@='';
-  $Apache::lonxml::request->hard_timeout("Apache::run::run, evaluation $code");
+  if ($Apache::lonxml::request) {
+    $Apache::lonxml::request->hard_timeout("Apache::run::run, evaluation $code");
+  }
   my (@result)=$safeeval->reval($code);
-  $Apache::lonxml::request->kill_timeout;
+  if ($Apache::lonxml::request) { $Apache::lonxml::request->kill_timeout; }
   my $error=$@;
   if ($error ne '' && !$hideerrors) {
     &Apache::lonxml::error('<pre>'.&HTML::Entities::encode($error).