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

albertel lon-capa-cvs@mail.lon-capa.org
Thu, 27 Feb 2003 21:01:39 -0000


albertel		Thu Feb 27 16:01:39 2003 EDT

  Modified files:              
    /loncom/xml	lontexconvert.pm 
  Log:
  - last of BUG#1276, I think this may bomb if you dont have the latest tth.so
  
  
Index: loncom/xml/lontexconvert.pm
diff -u loncom/xml/lontexconvert.pm:1.18 loncom/xml/lontexconvert.pm:1.19
--- loncom/xml/lontexconvert.pm:1.18	Wed Feb 26 15:22:11 2003
+++ loncom/xml/lontexconvert.pm	Thu Feb 27 16:01:39 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # TeX Conversion Module
 #
-# $Id: lontexconvert.pm,v 1.18 2003/02/26 20:22:11 albertel Exp $
+# $Id: lontexconvert.pm,v 1.19 2003/02/27 21:01:39 albertel Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -44,6 +44,7 @@
 use strict;
 use tth;
 use vars qw($errorstring);
+use Apache();
 use Apache::lonmsg;
 use Apache::lonxml;
 use Apache::lonmenu;
@@ -77,12 +78,16 @@
 
 # ================================================================== Conversion
 
+$Apache::lontexconvert::messedup=0;
 sub converted {
   my $texstring=shift;
   my $xmlstring='[UNDISPLAYABLE]';
+  if ($Apache::lontexconvert::messedup) {
+      return '[Uncoverted Due To Previous Errors]';
+  }
   eval(<<'ENDCONV');
-  { 
-    local $SIG{SEGV}=sub { die; };
+  {
+    local $SIG{SEGV}=sub { $Apache::lontexconvert::messedup=1; die; };
     if ($ENV{'browser.mathml'}) {
       $xmlstring=&tth::ttm($$texstring);
       $xmlstring=~s/\<math\>/\<math xmlns=\"\&mathns\;\"\>/g;
@@ -95,6 +100,12 @@
     }
   }
 ENDCONV
+  if ($Apache::lontexconvert::messedup || &tth::tthmessedup()) {
+      &Apache::lonnet::logthis("Trying to kill myself");
+      $Apache::lontexconvert::messedup=1;
+      my $request=Apache->request();
+      $request->child_terminate();
+  }
   return $xmlstring;
 }