#10818: EclLib should allow signals to make LISP code interruptable
--------------------------------------------------+-------------------------
Reporter: nbruin | Owner: was
Type: defect | Status: new
Priority: major | Milestone: sage-feature
Component: interfaces | Keywords: lisp ecl
signal interrupt
Author: Nils Bruin | Upstream: N/A
Reviewer: | Merged:
Work_issues: investigate ECL interrupt handling |
--------------------------------------------------+-------------------------
Presently, ecllib does not enable signals when executing ecl code. This
makes LISP code uninterruptable:
{{{
sage: from sage.libs.ecl import *
sage: ecl_eval("(setf i 0)")
<ECL: 0>
sage: inf_loop=ecl_eval("(defun infinite() (loop (incf i)))")
sage: inf_loop() #DON'T DO THIS! (bye bye)
}}}
The signal handling in ECL should be studied a bit more to ensure that we
are safely interacting with it. The attached patch just inserts
{{{sig_on()/sig_off()}}} around the possibly slow parts. This seems to
work, but I suspect it might leave ECL in an inconsistent state.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10818>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.