Some functions require that the caller holds a certain CoMutex for them to operate correctly. Add a function so that they can assert the lock is really held.
Cc: qemu-sta...@nongnu.org Signed-off-by: Kevin Wolf <kw...@redhat.com> --- include/qemu/coroutine.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/qemu/coroutine.h b/include/qemu/coroutine.h index 9801e7f5a4..a36bcfe5c8 100644 --- a/include/qemu/coroutine.h +++ b/include/qemu/coroutine.h @@ -167,6 +167,13 @@ void coroutine_fn qemu_co_mutex_lock(CoMutex *mutex); */ void coroutine_fn qemu_co_mutex_unlock(CoMutex *mutex); +/** + * Assert that the current coroutine holds @mutex. + */ +static inline coroutine_fn void qemu_co_mutex_assert_locked(CoMutex *mutex) +{ + assert(mutex->locked && mutex->holder == qemu_coroutine_self()); +} /** * CoQueues are a mechanism to queue coroutines in order to continue executing -- 2.20.1