diff options
author | Victor Stinner <vstinner@python.org> | 2020-11-03 17:07:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-03 17:07:15 (GMT) |
commit | fd957c124c44441d9c5eaf61f7af8cf266bafcb1 (patch) | |
tree | 2d73071bb42fe4496d11d79007eb4930fe5fd673 /Misc | |
parent | 212d32f45c91849c17a82750df1ac498d63976be (diff) | |
download | cpython-fd957c124c44441d9c5eaf61f7af8cf266bafcb1.zip cpython-fd957c124c44441d9c5eaf61f7af8cf266bafcb1.tar.gz cpython-fd957c124c44441d9c5eaf61f7af8cf266bafcb1.tar.bz2 |
bpo-41796: Call _PyAST_Fini() earlier to fix a leak (GH-23131)
Call _PyAST_Fini() on all interpreters, not only on the main
interpreter. Also, call it ealier to fix a reference leak.
Python types contain a reference to themselves in in their
PyTypeObject.tp_mro member. _PyAST_Fini() must called before the last
GC collection to destroy AST types.
_PyInterpreterState_Clear() now calls _PyAST_Fini(). It now also
calls _PyWarnings_Fini() on subinterpeters, not only on the main
interpreter.
Add an assertion in AST init_types() to ensure that the _ast module
is no longer used after _PyAST_Fini() has been called.
Diffstat (limited to 'Misc')
0 files changed, 0 insertions, 0 deletions