On Wed, Oct 14, 2009 at 05:35:38PM -0500, Daniel Stutzbach wrote: > The first and last sentences seem like a contradiction to me. If I cannot > guarantee that globals will be valid when __del__ is executed, then I must > not reference globals from __del__.
I think there is confusion about the word "reference". In the method: def __del__(): print sys.version the global variable reference to 'sys' is not a reference on the GC referencing counting sense. IOW, it does not result in a a Py_INCREF while the function is not being executed and therefore should be safe after the proposed change. Currently, it could result in 'None' being printed. HTH, Neil _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com