[3.9] bpo-41568: Fix refleaks in zoneinfo subclasses (GH-21907) #21912
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This was leaking a reference to the weak cache dictionary for every
ZoneInfo subclass created.
The previous version of the code accidentally cleared the global
ZONEINFO_STRONG_CACHE variable (and inducing
ZoneInfo
to create a newstrong cache) on calls to a subclass's
clear_cache()
. This would notaffect guaranteed behavior, but it's still not the right thing to do
(and it caused reference leaks).
(cherry picked from commit c3dd7e4)
Co-authored-by: Paul Ganssle [email protected]
https://bugs.python.org/issue41568