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 | 4c5731c34f0915457a31c60c9f70a2f169ea575d (patch) | |
| tree | 7f03a7f892370b59e56ae06c6c74514f1cc44998 /src/core/hle/kernel/wait_object.cpp | |
| parent | 6909b2f0f9bd5d34782075cf867ec4839a1eb27c (diff) | |
| parent | 64e652d8cbcc4cc67442879ab7e379d62b72703c (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 0e96ba872..c00cef062 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()); } } |
