From 4a92b6134fd71215f9e6164cbfe14ca3f38cd47e Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Mon, 16 Mar 2009 03:34:08 +0000 Subject: [PATCH] _mutex_trylock(): * The loop is unnecessary, since the call doesn't block anyway, so it can't be interrupted. * Set the holder, if KDEBUG is enabled. Otherwise the panic() in recursive_lock_unlock() would be triggered. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29556 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tests/add-ons/kernel/kernelland_emu/lock.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/tests/add-ons/kernel/kernelland_emu/lock.cpp b/src/tests/add-ons/kernel/kernelland_emu/lock.cpp index 048eaa0a57..a13b7de8c7 100644 --- a/src/tests/add-ons/kernel/kernelland_emu/lock.cpp +++ b/src/tests/add-ons/kernel/kernelland_emu/lock.cpp @@ -154,11 +154,13 @@ mutex_destroy(mutex *mutex) status_t _mutex_trylock(mutex *mutex) { - status_t status; - do { - status = acquire_sem_etc((sem_id)mutex->waiters, 1, B_RELATIVE_TIMEOUT, - 0); - } while (status == B_INTERRUPTED); + status_t status = acquire_sem_etc((sem_id)mutex->waiters, 1, + B_RELATIVE_TIMEOUT, 0); + +#if KDEBUG + if (status == B_OK) + mutex->holder = find_thread(NULL); +#endif return status; }