kernel: Check for uninitialized locks in mutex_trylock().

We already do this in mutex_lock() and variants.
This commit is contained in:
Augustin Cavalier
2019-03-15 10:59:48 -04:00
parent 88255e0890
commit b322554630
+4 -3
View File
@@ -795,10 +795,11 @@ _mutex_trylock(mutex* lock)
#if KDEBUG
InterruptsSpinLocker _(lock->lock);
if (lock->holder <= 0) {
if (lock->holder < 0) {
lock->holder = thread_get_current_thread_id();
return B_OK;
}
} else if (lock->holder == 0)
panic("_mutex_trylock(): using uninitialized lock %p", lock);
return B_WOULD_BLOCK;
#else
return mutex_trylock(lock);
@@ -828,7 +829,7 @@ _mutex_lock_with_timeout(mutex* lock, uint32 timeoutFlags, bigtime_t timeout)
panic("_mutex_lock(): double lock of %p by thread %" B_PRId32, lock,
lock->holder);
} else if (lock->holder == 0)
panic("_mutex_lock(): using unitialized lock %p", lock);
panic("_mutex_lock(): using uninitialized lock %p", lock);
#else
if ((lock->flags & MUTEX_FLAG_RELEASED) != 0) {
lock->flags &= ~MUTEX_FLAG_RELEASED;