On Thursday, May 15, 2014 6:15:21 PM UTC-7, Fabian Weise wrote: > > Since this only happens using the Singular algorithms I came up with this: > http://www.gap-system.org/Manuals/pkg/singular/doc/chap1.html#X82260C8E82090E87 > (cp. > 1-7-5) > The situation here is different, since Sage doesn't use (string-based) inter-process communication to work with singular, but uses libsingular, i.e., it uses singular as a library. That means that the alarm is handled by sage's signal handler. The singular library doesn't get an opportunity to put its business in order, so the next time you enter the singular library, its data structures might not be in a consistent state. Ensuring that sage's signal handling cooperates properly with what libsingular needs is going to be a big effort. Does Singular itself even handle signal recovery properly in all cases?
If you want to use alarmed computations and do other ones afterwards, I'd use an inter-process version: 1) fork sage just before you want to do the alarmed computation 2) in the child set up the alarm and do your computation. This either finishes or terminates by the alarm 3) report your computations back in some form to the parent and terminate 4) the parent waits for the child and collects the result. A side-effect is that you can easily parallellize this approach as well. Sage already has some infrastructure for doing things like this. -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
