kern: minor fixes to prevent core0-2 panics during boot

This commit is contained in:
Michael Scire 2020-02-21 13:05:16 -08:00
parent bb3f7c8ab9
commit d2a888d9e8
5 changed files with 26 additions and 5 deletions

View file

@ -260,8 +260,24 @@ namespace ams::kern {
return this->signaled;
}
void KThread::Wakeup() {
MESOSPHERE_ASSERT_THIS();
KScopedSchedulerLock sl;
if (this->GetState() == ThreadState_Waiting) {
if (this->sleeping_queue != nullptr) {
this->sleeping_queue->WakeupThread(this);
} else {
this->SetState(ThreadState_Runnable);
}
}
}
void KThread::OnTimer() {
MESOSPHERE_TODO_IMPLEMENT();
MESOSPHERE_ASSERT_THIS();
MESOSPHERE_ASSERT(KScheduler::IsSchedulerLockedByCurrentThread());
this->Wakeup();
}
void KThread::DoWorkerTask() {