#10296: Singular interface wasting time by waiting for the prompt too often
-----------------------------------------------------------------------+----
Reporter: SimonKing |
Owner: was
Type: enhancement |
Status: needs_review
Priority: major |
Milestone: sage-5.0
Component: interfaces |
Resolution:
Keywords: Singular, _eval_line, synchronization, synchronisation |
Work_issues:
Upstream: N/A |
Reviewer: Martin Albrecht
Author: Simon King |
Merged:
Dependencies: #11431 |
-----------------------------------------------------------------------+----
Comment(by SimonKing):
Replying to [comment:62 malb]:
> I only have some very minor comments:
>
> * Could you escape EOFError with "``" backquotes so it's printed as
code
Done
> * You wrote: "Since nesting of _eval_line can not occur during garbage
collection" can you explain that, I am not sure I understand.
I elaborated the comment.
Without my patch, garbage collection would result in a call to _eval_line.
So, if garbage collection occurs while being in _eval_line, we would have
two nested calls to _eval_line. The inner _eval_line would receive the
Singular prompt and return. The outer _eval_line would also wait for a
Singular prompt -- but Singular would not provide a second prompt. Result:
A deadlock.
To my understanding, this is why synchronisation of the Singular interface
was necessary. But with my patch, garbage collection does not involve an
additional call to _eval_line, and thus the deadlock is prevented without
synchronisation.
> * why did you indent REMARK etc. further in pid()?
To the contrary, the first line of the doc string of pid() needed to be
indented more! Fixed with the new patch version.
Apply trac10296_singular_overhead_combined.patch
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10296#comment:63>
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.