Kernel: Correct Paused scheduling

This commit is contained in:
Fernando Sahmkow 2019-10-10 08:50:41 -04:00 committed by FernandoS27
parent 1c6a11ab14
commit 96b1b144af

View File

@ -354,9 +354,7 @@ void Thread::SetActivity(ThreadActivity value) {
if (value == ThreadActivity::Paused) { if (value == ThreadActivity::Paused) {
// Set status if not waiting // Set status if not waiting
if (status == ThreadStatus::Ready) { if (status == ThreadStatus::Ready || status == ThreadStatus::Running) {
status = ThreadStatus::Paused;
} else if (status == ThreadStatus::Running) {
SetStatus(ThreadStatus::Paused); SetStatus(ThreadStatus::Paused);
Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule(); Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule();
} }