@@ -192,6 +192,13 @@ PyDoc_STRVAR(locked_doc,
192192\n\
193193Return whether the lock is in the locked state." );
194194
195+ static PyObject *
196+ lock_repr (lockobject * self )
197+ {
198+ return PyUnicode_FromFormat ("<%s %s object at %p>" ,
199+ self -> locked ? "locked" : "unlocked" , Py_TYPE (self )-> tp_name , self );
200+ }
201+
195202static PyMethodDef lock_methods [] = {
196203 {"acquire_lock" , (PyCFunction )lock_PyThread_acquire_lock ,
197204 METH_VARARGS | METH_KEYWORDS , acquire_doc },
@@ -223,7 +230,7 @@ static PyTypeObject Locktype = {
223230 0 , /*tp_getattr*/
224231 0 , /*tp_setattr*/
225232 0 , /*tp_reserved*/
226- 0 , /*tp_repr*/
233+ ( reprfunc ) lock_repr , /*tp_repr*/
227234 0 , /*tp_as_number*/
228235 0 , /*tp_as_sequence*/
229236 0 , /*tp_as_mapping*/
@@ -475,8 +482,10 @@ rlock_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
475482static PyObject *
476483rlock_repr (rlockobject * self )
477484{
478- return PyUnicode_FromFormat ("<%s owner=%ld count=%lu>" ,
479- Py_TYPE (self )-> tp_name , self -> rlock_owner , self -> rlock_count );
485+ return PyUnicode_FromFormat ("<%s %s object owner=%ld count=%lu at %p>" ,
486+ self -> rlock_count ? "locked" : "unlocked" ,
487+ Py_TYPE (self )-> tp_name , self -> rlock_owner ,
488+ self -> rlock_count , self );
480489}
481490
482491
0 commit comments