diff --git a/lib/locking.py b/lib/locking.py index 6ba74f2ea5c6159e07778af7b44c5037f1fbdf1c..103d645012bf13a48f5892f16af0040c8b774f7d 100644 --- a/lib/locking.py +++ b/lib/locking.py @@ -775,7 +775,9 @@ class LockSet: def _release_and_delete_owned(self): """Release and delete all resources owned by the current thread""" for lname in self._list_owned(): - self.__lockdict[lname].release() + lock = self.__lockdict[lname] + if lock._is_owned(): + lock.release() self._del_owned(name=lname) def __names(self):