diff src/sighandlers.cc @ 4182:4d1d7c51205c

[project @ 2002-11-15 20:33:47 by jwe]
author jwe
date Fri, 15 Nov 2002 20:33:47 +0000
parents dd2abf428f5d
children 8f6d418d31c3
line wrap: on
line diff
--- a/src/sighandlers.cc
+++ b/src/sighandlers.cc
@@ -217,14 +217,11 @@
 
   std::cerr << "error: floating point exception -- trying to return to prompt\n";
 
+  // XXX FIXME XXX -- will setting octave_interrupt_state really help
+  // here?
+
   if (can_interrupt)
-    {
-      // XXX FIXME XXX -- this may simply set the interrupt state.  We
-      // can only hope for the best after returning?  We probably need
-      // to throw an exception.
-
-      OCTAVE_OCTAVE_JUMP_TO_TOP_LEVEL;
-    }
+    octave_interrupt_state = 1;
 
   SIGHANDLER_RETURN (0);
 }
@@ -275,7 +272,7 @@
       if (octave_interrupt_immediately)
 	octave_jump_to_enclosing_context ();
 #else
-      OCTAVE_JUMP_TO_TOP_LEVEL;
+      octave_interrupt_state = 1;
       panic_impossible ();
 #endif
     }
@@ -296,8 +293,11 @@
 
   // Don't loop forever on account of this.
 
+  // XXX FIXME XXX -- will setting octave_interrupt_state really help
+  // here?
+
   if (pipe_handler_error_count  > 100)
-    OCTAVE_JUMP_TO_TOP_LEVEL;
+    octave_interrupt_state = 1;
 
   SIGHANDLER_RETURN (0);
 }