[Cython] How should be C-clobal deletion handled?

Vitja Makarov vitja.makarov at gmail.com
Sat May 25 19:29:29 CEST 2013


2013/5/25 Stefan Behnel <stefan_ml at behnel.de>

> Am 25.05.2013 08:34, schrieb Robert Bradshaw:
> > On Thu, May 23, 2013 at 10:02 PM, Vitja Makarov wrote:
> >> Recently I've found that the following code causes segmentation fault:
> >>
> >> cdef object f
> >> del f
> >> print f
> >>
> >> So the question is: how should that work?
> >>
> >> global objects are implicitly initialized to None and no CF and no cf
> >> analysis is performed for it.
> >>
> >> So I see three options here:
> >>
> >> 1. prohibit cglobal deletion
> >> 2. set it back to None
> >> 3. check for a null value at every reference and assignment
> >
> > I'd go for 1, with 2 as a backup option.
>
> +1 for 1.
>
> Stefan
>
>
>
I tried to disable it and found that it's already used for global C++
objects deletion. It would be strange to have global deletion for C++
objects and not for ordinary python objects.


-- 
vitja.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/cython-devel/attachments/20130525/199e5b31/attachment.html>


More information about the cython-devel mailing list