Re: [Python-Dev] Reference cycle on the module dict (globals())

2016年1月19日 04:56:28 -0800

Hi,
2016年01月19日 11:39 GMT+01:00 Petr Viktorin <[email protected]>:
>> Did I miss something obvious, or is it a known issue of the garbage
>> collector on modules?
>
> The default type flags are for objects that don't store references.
> Since you're creating a mutable container, you need to set
> Py_TPFLAGS_HAVE_GC. See https://docs.python.org/3/c-api/gcsupport.html
> for all the details.
Ok, so I missed this important flag :-) Thanks!
I had to fight against the C API to fix all my bugs, but now it works
well: a guard keeps a strong reference to the global namespace, but
objects are still destroyed when the module is unloaded!
FYI I updated my PEP 510 patch to track guards with the garbage
collector, and my fat project to fix bugs related to GC:
- https://bugs.python.org/issue26098
- https://github.com/haypo/fat
Victor
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to