[pypy-svn] r74278 - pypy/trunk/pypy/module/cpyext

jandem at codespeak.net jandem at codespeak.net
Fri Apr 30 13:44:37 CEST 2010


Author: jandem
Date: Fri Apr 30 13:44:36 2010
New Revision: 74278

Modified:
   pypy/trunk/pypy/module/cpyext/typeobject.py
Log:
Initialize tp_alloc slot


Modified: pypy/trunk/pypy/module/cpyext/typeobject.py
==============================================================================
--- pypy/trunk/pypy/module/cpyext/typeobject.py	(original)
+++ pypy/trunk/pypy/module/cpyext/typeobject.py	Fri Apr 30 13:44:36 2010
@@ -460,6 +460,8 @@
     pto.c_tp_flags = Py_TPFLAGS_HEAPTYPE
     pto.c_tp_free = llhelper(PyObject_Del.api_func.functype,
             PyObject_Del.api_func.get_wrapper(space))
+    pto.c_tp_alloc = llhelper(PyType_GenericAlloc.api_func.functype,
+            PyType_GenericAlloc.api_func.get_wrapper(space))
     pto.c_tp_name = rffi.str2charp(w_type.getname(space, "?"))
     pto.c_tp_basicsize = -1 # hopefully this makes malloc bail out
     pto.c_tp_itemsize = 0
@@ -532,6 +534,8 @@
         base = rffi.cast(PyTypeObjectPtr, base_pyo)
         if not pto.c_tp_dealloc:
             pto.c_tp_dealloc = base.c_tp_dealloc
+        if not pto.c_tp_alloc:
+            pto.c_tp_alloc = base.c_tp_alloc
         # XXX check for correct GC flags!
         if not pto.c_tp_free:
             pto.c_tp_free = base.c_tp_free



More information about the Pypy-commit mailing list