Explorar el Código

Kernel: Correct Paused scheduling

Fernando Sahmkow hace 6 años
padre
commit
96b1b144af
Se han modificado 1 ficheros con 1 adiciones y 3 borrados
  1. 1 3
      src/core/hle/kernel/thread.cpp

+ 1 - 3
src/core/hle/kernel/thread.cpp

@@ -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) {
-            status = ThreadStatus::Paused;
-        } else if (status == ThreadStatus::Running) {
+        if (status == ThreadStatus::Ready || status == ThreadStatus::Running) {
             SetStatus(ThreadStatus::Paused);
             SetStatus(ThreadStatus::Paused);
             Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule();
             Core::System::GetInstance().CpuCore(processor_id).PrepareReschedule();
         }
         }