diff options
| author | David <25727384+ogniK5377@users.noreply.github.com> | 2019-10-28 10:53:27 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-10-28 10:53:27 +1100 |
| commit | 86521bca3b3dfe112e8b2a3f3af50e26c3cfa056 (patch) | |
| tree | 7f03a7f892370b59e56ae06c6c74514f1cc44998 /src/core/hle/kernel/wait_object.cpp | |
| parent | 585e56b4d96b413593d5021e9f1737e569c7202d (diff) | |
| parent | 4f8fa2dd29e05945b8f6b04a14c23f4277190c12 (diff) | |
Merge pull request #2971 from FernandoS27/new-scheduler-v2
Kernel: Implement a New Thread Scheduler V2
Diffstat (limited to 'src/core/hle/kernel/wait_object.cpp')
| -rw-r--r-- | src/core/hle/kernel/wait_object.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/hle/kernel/wait_object.cpp b/src/core/hle/kernel/wait_object.cpp index 0e96ba8723..c00cef0629 100644 --- a/src/core/hle/kernel/wait_object.cpp +++ b/src/core/hle/kernel/wait_object.cpp @@ -6,6 +6,9 @@ #include "common/assert.h" #include "common/common_types.h" #include "common/logging/log.h" +#include "core/core.h" +#include "core/core_cpu.h" +#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/object.h" #include "core/hle/kernel/process.h" #include "core/hle/kernel/thread.h" @@ -82,9 +85,6 @@ void WaitObject::WakeupWaitingThread(SharedPtr<Thread> thread) { const std::size_t index = thread->GetWaitObjectIndex(this); - for (const auto& object : thread->GetWaitObjects()) { - object->RemoveWaitingThread(thread.get()); - } thread->ClearWaitObjects(); thread->CancelWakeupTimer(); @@ -95,6 +95,7 @@ void WaitObject::WakeupWaitingThread(SharedPtr<Thread> thread) { } if (resume) { thread->ResumeFromWait(); + Core::System::GetInstance().PrepareReschedule(thread->GetProcessorID()); } } |
