#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.

Reply via email to