Mercurial > octave
diff src/sighandlers.cc @ 4793:a62215ab8a03
[project @ 2004-02-20 20:59:34 by jwe]
author | jwe |
---|---|
date | Fri, 20 Feb 2004 20:59:34 +0000 |
parents | 62f2fb593455 |
children | 2c4b08ace285 |
line wrap: on
line diff
--- a/src/sighandlers.cc Fri Feb 20 18:44:43 2004 +0000 +++ b/src/sighandlers.cc Fri Feb 20 20:59:34 2004 +0000 @@ -237,7 +237,7 @@ // XXX FIXME XXX -- will setting octave_interrupt_state really help // here? - if (can_interrupt) + if (can_interrupt && octave_interrupt_state >= 0) octave_interrupt_state++; SIGHANDLER_RETURN (0); @@ -334,6 +334,13 @@ octave_jump_to_enclosing_context (); else { + // If we are already cleaning up from a previous interrupt, + // take note of the fact that another interrupt signal has + // arrived. + + if (octave_interrupt_state < 0) + octave_interrupt_state = 0; + octave_interrupt_state++; if (interactive && octave_interrupt_state == 2) @@ -363,7 +370,7 @@ // XXX FIXME XXX -- will setting octave_interrupt_state really help // here? - if (pipe_handler_error_count > 100) + if (pipe_handler_error_count > 100 && octave_interrupt_state >= 0) octave_interrupt_state++; SIGHANDLER_RETURN (0);