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.

Reply via email to