[Python-Dev] GC at exit?
Michael Hudson
mwh@python.net
30 Dec 2002 10:58:01 +0000
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