Aahz <aahz@pythoncraft.com> writes:
> [Originally posted to comp.lang.python with no response; asking here
> before filing a bug report]
>> Is garbage collection supposed to run when Python exits? The following
> program does not print any output, unless I uncomment the gc.collect()
> (or add a for loop that forces GC after creating the cycle):
>> import gc
>> class A:
> pass
>> class B:
> def __del__(self):
> print "Bye-bye!"
>> a = A()
> b = A()
> a.b = b
> b.a = a
> a.x = B()
>> del a
> del b
>> #gc.collect()
One possibility is that the __del__ method *is* being run, but after
sys.stdout & so on has been torn down. python -v can help, maybe?
Cheers,
M.
--
Unfortunately, nigh the whole world is now duped into thinking that
silly fill-in forms on web pages is the way to do user interfaces.
-- Erik Naggum, comp.lang.lisp