Amaury Forgeot d'Arc added the comment:

Infortunately, the behaviour is the same in 2.7 and 3.2, and only changes with 
3.3, which means that this is probably related to the new implementation of the 
import system.
This won't be backported.

[It would be interesting to understand why there is a difference, btw... is a 
reference to the module held somewhere?]

A possible workaround for such module-level calls atexit.register() is to 
ensure that used globals are captured in the function namespace, a bit like 
some __del__ methods:

def _clean(_Cleanup=_Cleanup):
    ....

----------
nosy: +amaury.forgeotdarc

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue16718>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to