mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-12-26 19:32:40 -06:00
kernel: simplify KAbstractSchedulerLock::Lock
This commit is contained in:
parent
0746a2084e
commit
62711fec02
1 changed files with 6 additions and 5 deletions
|
@ -31,22 +31,23 @@ public:
|
|||
}
|
||||
|
||||
if (IsLockedByCurrentThread()) {
|
||||
// If we already own the lock, we can just increment the count.
|
||||
// If we already own the lock, the lock count should be > 0.
|
||||
// For debug, ensure this is true.
|
||||
ASSERT(lock_count > 0);
|
||||
lock_count++;
|
||||
} else {
|
||||
// Otherwise, we want to disable scheduling and acquire the spinlock.
|
||||
SchedulerType::DisableScheduling(kernel);
|
||||
spin_lock.Lock();
|
||||
|
||||
// For debug, ensure that our state is valid.
|
||||
ASSERT(lock_count == 0);
|
||||
ASSERT(owner_thread == nullptr);
|
||||
|
||||
// Increment count, take ownership.
|
||||
lock_count = 1;
|
||||
// Take ownership of the lock.
|
||||
owner_thread = GetCurrentThreadPointer(kernel);
|
||||
}
|
||||
|
||||
// Increment the lock count.
|
||||
lock_count++;
|
||||
}
|
||||
|
||||
void Unlock() {
|
||||
|
|
Loading…
Reference in a new issue