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