mirror of
https://github.com/python/cpython.git
synced 2025-09-05 16:31:16 +00:00
gh-115942: Add locked
to several multiprocessing locks (#115944)
Co-authored-by: mpage <mpage@cs.stanford.edu> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
This commit is contained in:
parent
6cd1d6c6b1
commit
f7305a06c7
10 changed files with 89 additions and 6 deletions
|
@ -1086,6 +1086,19 @@ PyDoc_STRVAR(rlock_exit_doc,
|
|||
\n\
|
||||
Release the lock.");
|
||||
|
||||
static PyObject *
|
||||
rlock_locked(PyObject *op, PyObject *Py_UNUSED(ignored))
|
||||
{
|
||||
rlockobject *self = rlockobject_CAST(op);
|
||||
int is_locked = _PyRecursiveMutex_IsLockedByCurrentThread(&self->lock);
|
||||
return PyBool_FromLong(is_locked);
|
||||
}
|
||||
|
||||
PyDoc_STRVAR(rlock_locked_doc,
|
||||
"locked()\n\
|
||||
\n\
|
||||
Return a boolean indicating whether this object is locked right now.");
|
||||
|
||||
static PyObject *
|
||||
rlock_acquire_restore(PyObject *op, PyObject *args)
|
||||
{
|
||||
|
@ -1204,6 +1217,8 @@ static PyMethodDef rlock_methods[] = {
|
|||
METH_VARARGS | METH_KEYWORDS, rlock_acquire_doc},
|
||||
{"release", rlock_release,
|
||||
METH_NOARGS, rlock_release_doc},
|
||||
{"locked", rlock_locked,
|
||||
METH_NOARGS, rlock_locked_doc},
|
||||
{"_is_owned", rlock_is_owned,
|
||||
METH_NOARGS, rlock_is_owned_doc},
|
||||
{"_acquire_restore", rlock_acquire_restore,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue