[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