|
|
|
@ -1097,14 +1097,14 @@ void KThread::EndWait(ResultCode wait_result_) { |
|
|
|
// Lock the scheduler.
|
|
|
|
KScopedSchedulerLock sl(kernel); |
|
|
|
|
|
|
|
// Dummy threads are just used by host threads for locking, and will never have a wait_queue.
|
|
|
|
if (thread_type == ThreadType::Dummy) { |
|
|
|
ASSERT_MSG(false, "Dummy threads should never call EndWait!"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
// If we're waiting, notify our queue that we're available.
|
|
|
|
if (GetState() == ThreadState::Waiting) { |
|
|
|
if (wait_queue == nullptr) { |
|
|
|
// This should never happen, but avoid a hard crash below to get this logged.
|
|
|
|
ASSERT_MSG(false, "wait_queue is nullptr!"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
wait_queue->EndWait(this, wait_result_); |
|
|
|
} |
|
|
|
} |
|
|
|
|