diff --git a/repos/base/include/base/cancelable_lock.h b/repos/base/include/base/cancelable_lock.h index 8bb30ab18..5c956de94 100644 --- a/repos/base/include/base/cancelable_lock.h +++ b/repos/base/include/base/cancelable_lock.h @@ -71,7 +71,9 @@ class Genode::Cancelable_lock Applicant _owner; - bool lock_owner(Applicant &myself) { return _owner == myself; } + bool lock_owner(Applicant &myself) { + return (_state == LOCKED) && (_owner == myself); } + void lock(Applicant &); public: