#10818: EclLib should allow signals to make LISP code interruptable
------------------------------------------+---------------------------------
Reporter: nbruin | Owner: was
Type: defect | Status: needs_work
Priority: major | Milestone: sage-4.7
Component: interfaces | Keywords: lisp ecl signal
interrupt
Author: Nils Bruin, Jeroen Demeyer | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------------------------+---------------------------------
Changes (by jpflori):
* status: needs_review => needs_work
Comment:
I've looked through the code and (after understanding lots of things about
signal handling in Sage) it seems great.
I would be ready to give it positive review if the test_sigint_... was a
little bit more explicit.
Right now, letting sig_on(), sig_off() in ecl_sig_on() and ecl_sig_off()
does not look really different (ok, there is one line more).
For example adding an infinite loop between ecl_sig_on and ecl_sig_off:
{{{
global safe_funcall_clobj
cl_eval(string_to_object("(setf i 0)"))
cl_eval(string_to_object("(defun infinite() (loop (incf i)))"))
inf_loop=cl_eval(string_to_object("(symbol-function 'infinite)"))
signal_raise(SIGINT)
ecl_sig_on() # KeyboardInterrupt should be raised because ecl_sig_on()
calls sig_on() first
cl_funcall(1,inf_loop)
ecl_sig_off()
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10818#comment:20>
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.