Added notimplemented_dealloc for better error reporting

This commit is contained in:
Armin Ronacher 2012-10-06 14:28:58 +02:00
parent dfc23974ed
commit 226b1db0e2
1 changed files with 10 additions and 1 deletions

View File

@ -1524,12 +1524,21 @@ notimplemented_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
Py_RETURN_NOTIMPLEMENTED;
}
static void
notimplemented_dealloc(PyObject* ignore)
{
/* This should never get called, but we also don't want to SEGV if
* we accidentally decref NotImplemented out of existence.
*/
Py_FatalError("deallocating NotImplemented");
}
static PyTypeObject PyNotImplemented_Type = {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
"NotImplementedType",
0,
0,
none_dealloc, /*tp_dealloc*/ /*never called*/
notimplemented_dealloc, /*tp_dealloc*/ /*never called*/
0, /*tp_print*/
0, /*tp_getattr*/
0, /*tp_setattr*/