stop using Py_FindMethod

This commit is contained in:
Benjamin Peterson 2009-05-24 23:13:32 +00:00
parent 36b6dfca00
commit a7724e59e0
1 changed files with 22 additions and 8 deletions

View File

@ -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);