Skip to content

Is __del__ supported? Is garbage collection working? #57

@GoogleCodeExporter

Description

@GoogleCodeExporter
tinypy is amazing.  Very nice to see such a concise implementation
of python!

What steps will reproduce the problem?

1. try to run this code:

ndel = 0

class rect:
    def __init__(self, orgx, orgy, sizex, sizey):
        self.orgx = orgx
        self.orgy = orgy
        self.sizex = sizex
        self.sizey = sizey
        self.list = [];
        for i in range(10):
            self.list.append(i)

    def __del__(self):
        print("del")
        ndel = ndel + 1

for i in range(1000):
    a = rect(0,0,100,100)
    b = rect(0,0,100,100)
    b = a

print("__del__ called " + str(ndel) + " times")
print("bye")

What is the expected output? What do you see instead?

I was expecting __del__ to be called like in cpython.  Is garbage collection
working?  I added printf to gc.c and it shows these functions being called,
but the __del__ function is not being called.

running tp_follow
running tp_follow
running tp_follow
running tp_full
running tp_follow
running tp_collect
running tp_follow
running tp_follow

What version of the product are you using? On what operating system?

tinypy 1.1 OSX 10.7.5

Please provide any additional information below.

See the attached file del.py


Original issue reported on code.google.com by paulhaeb...@gmail.com on 18 Feb 2013 at 7:22

Attachments:

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions