[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.


More information about the Python-Dev mailing list