From: Victor Stinner Date: Thu, 2 Jan 2014 11:47:24 +0000 (+0100) Subject: threading.RLock._acquire_restore() now raises a TypeError instead of a X-Git-Tag: v3.4.0b2~52 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e8794526db95b7195a7bfeb273886b6c65afb1a3;p=python threading.RLock._acquire_restore() now raises a TypeError instead of a SystemError when it is not called with 2 arguments --- diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index ab0fea44e4..9925b0e7ec 100644 --- a/Modules/_threadmodule.c +++ b/Modules/_threadmodule.c @@ -379,13 +379,13 @@ current thread, release() needs to be called as many times for the lock\n\ to be available for other threads."); static PyObject * -rlock_acquire_restore(rlockobject *self, PyObject *arg) +rlock_acquire_restore(rlockobject *self, PyObject *args) { long owner; unsigned long count; int r = 1; - if (!PyArg_ParseTuple(arg, "kl:_acquire_restore", &count, &owner)) + if (!PyArg_ParseTuple(args, "(kl):_acquire_restore", &count, &owner)) return NULL; if (!PyThread_acquire_lock(self->rlock_lock, 0)) { @@ -488,7 +488,7 @@ static PyMethodDef rlock_methods[] = { {"_is_owned", (PyCFunction)rlock_is_owned, METH_NOARGS, rlock_is_owned_doc}, {"_acquire_restore", (PyCFunction)rlock_acquire_restore, - METH_O, rlock_acquire_restore_doc}, + METH_VARARGS, rlock_acquire_restore_doc}, {"_release_save", (PyCFunction)rlock_release_save, METH_NOARGS, rlock_release_save_doc}, {"__enter__", (PyCFunction)rlock_acquire,