Python leaks in cyclic garbage collection

n00m n00m at
Mon Feb 21 04:10:48 EST 2011

> Wild guess:
> maybe when python exits they are called but sys.stdout has already been closed and nothing gets written on it anymore.

Certainly NOT.

class Foo():
    def __init__(self):
        self.b = Bar(self)
    def __del__(self):
        print "Free Foo"

class Bar():
    def __init__(self, f):
        self.f = f
    def __del__(self):
        print "Free Bar"

f = Foo()
print f.b.f.b.f.b.f.b.f.b.f.b.f.b.f.b.f
print f.b.f.b.f.b.f.b.f.b.f.b.f.b.f.b.f.b

*********Console output:***********

<__main__.Foo instance at 0x00AF7328>
<__main__.Bar instance at 0x00AF7350>


More information about the Python-list mailing list