#11752: ecl.pyx should not touch SIGPWR neither SIGXCPU when initializing ecl
--------------------------+-------------------------------------------------
   Reporter:  pcpa        |          Owner:  was       
       Type:  defect      |         Status:  new       
   Priority:  major       |      Milestone:  sage-4.7.2
  Component:  interfaces  |       Keywords:            
Work_issues:              |       Upstream:  N/A       
   Reviewer:              |         Author:            
     Merged:              |   Dependencies:            
--------------------------+-------------------------------------------------

Comment(by nbruin):

 In principle the proposed change should be OK. Restoring the 32 signal
 handlers was just a general approach to avoid ECL's interrupt handlers.

 Note however that sage's ECL and Boehm GC are normally built with
 threading disabled, and then they don't touch or use SIGPWR and SIGXCPU.
 ECL has some quite advanced features for dealing with threads, but I
 recall that the approach taken with signal handlers when threads are
 enabled is quite incompatible with sage.

 Currently, to make SIGINT work in long-running ecl code, the signal
 handler simply gets swapped to the ecl one and swapped back to the sage
 one upon exit of the ecl code. This approach is obviously incompatible
 with multiple threads.

 The approach taken in ecl, have one thread receive all asynchronous
 signals and let that distribute them over the other threads is a sound
 one, but in order to make that work in sage we would have to have such a
 thread in sage and make it aware of any ecl threads running.

 So in practice, if the fix here is necessary you run the risk that you are
 running a configuration that handles signals quite poorly. You may want to
 test this.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11752#comment:1>
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