From ae86d7fcbe483d59173a8ac7bc0caf6ff3787274 Mon Sep 17 00:00:00 2001 From: iabdalkader Date: Sun, 14 Sep 2025 21:49:34 +0200 Subject: [PATCH] common/mutex: Return true, if unlocked. Signed-off-by: iabdalkader --- common/mutex.c | 4 +++- common/mutex.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/common/mutex.c b/common/mutex.c index aed3238ff..37714b6cf 100644 --- a/common/mutex.c +++ b/common/mutex.c @@ -53,8 +53,10 @@ bool mutex_try_lock_fair(mutex_t *m, size_t tid) { return false; } -void mutex_unlock(mutex_t *m, size_t tid) { +bool mutex_unlock(mutex_t *m, size_t tid) { if (atomic_load_explicit(&m->tid, memory_order_acquire) == tid) { atomic_flag_clear_explicit(&m->lock, memory_order_release); + return true; } + return false; } diff --git a/common/mutex.h b/common/mutex.h index 29e88445f..cccfb3d9a 100644 --- a/common/mutex.h +++ b/common/mutex.h @@ -48,5 +48,5 @@ void mutex_lock(mutex_t *mutex, size_t tid); bool mutex_try_lock(mutex_t *mutex, size_t tid); // Prevents a thread from locking twice in a row. bool mutex_try_lock_fair(mutex_t *mutex, size_t tid); -void mutex_unlock(mutex_t *mutex, size_t tid); +bool mutex_unlock(mutex_t *mutex, size_t tid); #endif // __MUTEX_H__