[Python-Dev] Better module shutdown procedure
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Wed Oct 14 22:35:28 CEST 2009
On 08:16 pm, nas at arctrix.com wrote:
>The current shutdown code in pythonrun.c zaps module globals by
>setting them to None (an attempt to break reference cycles). That
>causes problems since __del__ methods can try to use the globals
>after they have been set to None.
>
>The procedure implemented by http://bugs.python.org/issue812369
>seems to be a better idea. References to modules are replaced by
>weak references and the GC is allowed to cleanup reference cycles.
>
>I would like to commit this change but I'm not sure if it is a good
>time in the development cycle or if anyone has objections to the
>idea. Please speak up if you have input.
I notice that the patch doesn't include any unit tests for the feature
being provided (it does change test_sys.py - although I don't understand
how that change is related to this feature). I hope that regardless of
whatever else is decided, if the change is to be made, it will be
accompanied by new unit tests verify its proper operation.
Jean-Paul
More information about the Python-Dev
mailing list