gh-134322: Fix repr(threading.RLock) (#134389)

Fix the `__repr__` value of `threading.RLock` from `_thread` module, when just created.
This commit is contained in:
Duprat 2025-05-22 18:46:57 +02:00 committed by GitHub
parent 4a4ac3ab4d
commit fade146cfb
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 28 additions and 1 deletions

View file

@ -1225,7 +1225,13 @@ rlock_repr(PyObject *op)
rlockobject *self = rlockobject_CAST(op);
PyThread_ident_t owner = self->lock.thread;
int locked = rlock_locked_impl(self);
size_t count = self->lock.level + 1;
size_t count;
if (locked) {
count = self->lock.level + 1;
}
else {
count = 0;
}
return PyUnicode_FromFormat(
"<%s %s object owner=%" PY_FORMAT_THREAD_IDENT_T " count=%zu at %p>",
locked ? "locked" : "unlocked",