Sounds reasonable. 

In this context, a container is an object with a tp_traverse handler. That 
is, any object that can refer to another object and,  therefore, be part of 
a cyclic garbage collection.

For extension types on should use PyObject_GC_UnTrack and not the macro 
version  PyObject_GC_UNTRACK.

I see that Cython emitted a call to PyObject_GC_UnTrack in the 
__Pyx_CyFunction_dealloc deallocator, but not 
the __pyx_tp_dealloc_4sage_9structure_15category_object_CategoryObject 
deallocator. 



On Monday, December 31, 2012 5:53:04 PM UTC, Jean-Pierre Flori wrote:
>
> This might indeed be a good fix to include.
> See http://docs.python.org/2/c-api/gcsupport.html, especially 
> http://docs.python.org/2/c-api/gcsupport.html#PyObject_GC_UnTrack 
> Not sure though how to decide what a container is.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to