14 Oct
2009
14 Oct
'09
11:05 p.m.
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