From e8794526db95b7195a7bfeb273886b6c65afb1a3 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 2 Jan 2014 12:47:24 +0100 Subject: threading.RLock._acquire_restore() now raises a TypeError instead of a SystemError when it is not called with 2 arguments --- Modules/_threadmodule.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/_threadmodule.c b/Modules/_threadmodule.c index ab0fea4..9925b0e 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, -- cgit v0.12