2013/5/25 Robert Bradshaw <rober...@gmail.com> > > 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. > > > Ok, I've pushed a fix https://github.com/cython/cython/commit/adbe80eaa2e5f84060201562118026c7b69a440e
-- vitja.
_______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel