From a7724e59e006e1ca0a12ae6fd2eeaf895833c297 Mon Sep 17 00:00:00 2001 From: Benjamin Peterson Date: Sun, 24 May 2009 23:13:32 +0000 Subject: [PATCH] stop using Py_FindMethod --- Modules/threadmodule.c | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/Modules/threadmodule.c b/Modules/threadmodule.c index a87ddb344d9..e7638bbb6de 100644 --- a/Modules/threadmodule.c +++ b/Modules/threadmodule.c @@ -116,15 +116,9 @@ static PyMethodDef lock_methods[] = { METH_VARARGS, acquire_doc}, {"__exit__", (PyCFunction)lock_PyThread_release_lock, METH_VARARGS, release_doc}, - {NULL, NULL} /* sentinel */ + {NULL} /* sentinel */ }; -static PyObject * -lock_getattr(lockobject *self, char *name) -{ - return Py_FindMethod(lock_methods, (PyObject *)self, name); -} - static PyTypeObject Locktype = { PyVarObject_HEAD_INIT(&PyType_Type, 0) "thread.lock", /*tp_name*/ @@ -133,10 +127,28 @@ static PyTypeObject Locktype = { /* methods */ (destructor)lock_dealloc, /*tp_dealloc*/ 0, /*tp_print*/ - (getattrfunc)lock_getattr, /*tp_getattr*/ + 0, /*tp_getattr*/ 0, /*tp_setattr*/ 0, /*tp_compare*/ 0, /*tp_repr*/ + 0, /* tp_as_number */ + 0, /* tp_as_sequence */ + 0, /* tp_as_mapping */ + 0, /* tp_hash */ + 0, /* tp_call */ + 0, /* tp_str */ + 0, /* tp_getattro */ + 0, /* tp_setattro */ + 0, /* tp_as_buffer */ + 0, /* tp_flags */ + 0, /* tp_doc */ + 0, /* tp_traverse */ + 0, /* tp_clear */ + 0, /* tp_richcompare */ + 0, /* tp_weaklistoffset */ + 0, /* tp_iter */ + 0, /* tp_iternext */ + lock_methods, /* tp_methods */ }; static lockobject * @@ -709,6 +721,8 @@ initthread(void) ThreadError = PyErr_NewException("thread.error", NULL, NULL); PyDict_SetItemString(d, "error", ThreadError); Locktype.tp_doc = lock_doc; + if (PyType_Ready(&Locktype) < 0) + return; Py_INCREF(&Locktype); PyDict_SetItemString(d, "LockType", (PyObject *)&Locktype);