On May 25, 2013 10:37 AM, "Vitja Makarov" <vitja.maka...@gmail.com> wrote: > > > > > 2013/5/25 Stefan Behnel <stefan...@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. >
Not that odd; C++ users are used to the concept of null pointers, Python users not so much. We can check this easily. > > -- > vitja. > > _______________________________________________ > cython-devel mailing list > cython-devel@python.org > http://mail.python.org/mailman/listinfo/cython-devel >
_______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel