#13896: Fix cython's gc_track and gc_untrack
------------------------------------------------------------------+---------
Reporter: nbruin |
Owner: rlm
Type: defect |
Status: new
Priority: blocker |
Milestone: sage-5.6
Component: memleak |
Resolution:
Keywords: | Work
issues:
Report Upstream: Reported upstream. Developers acknowledge bug. |
Reviewers:
Authors: | Merged
in:
Dependencies: |
Stopgaps:
------------------------------------------------------------------+---------
Comment (by jpflori):
Just one potentially naive question:
shouldn't the object get retracked iff you're going to call another
dealloc method?
or conversely, if the type does not extend a previous type, shouldn't the
object stay untracked when you call tp_free?
I'm not sure it would really matter if the object is still tracked in this
latter case, but I got this feeling when staring at CPython's code today.
Anyway, it just made me think of what will happen if your extension class
is GC tracked, but the base class is not? In this case you're lost because
if you track your object before calling the base dealloc, then you will
not untrack it there. Is that even possible? And anyway if a class is not
gc tracked, or is not a container I guess it cannot be weakrefed...
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13896#comment:10>
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.