On Nov 27, 2008, at 9:29 AM, Stephane DROUARD wrote:

> Hi,
>
> With the following file "foo.py":
>
> class Foo:
>     def __init__(self):
>         print "__init__"
>
>     def __del__(self):
>         print "__del__"
>
> foo = Foo()
> del foo
> foo = Foo()
>
>> python -c "import foo"
> __init__
> __del__
> __init__
> __del__
>
> When foo.py is Cythonized (0.10.2):
>> python -c "import foo"
> __init__
> __del__
> __init__
>
> __del__ is not called when the Python exits.
>
> I tried using "--cleanup 1", but it hangs, trying to write at  
> address 0...

The cleanup level goes all the way up to 3, but it still doesn't seem  
to catch everything. It's also (as you've noticed) a bit unsafe.  
Somehow module dictionaries in extension modules don't get  
deallocated. This is a known issue, if you (or anyone else) has any  
ideas I'd love to hear them. I just made a ticket http:// 
trac.cython.org/cython_trac/ticket/142

- Robert


_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to