diff options
author | Liam <byteslice@airmail.cc> | 2022-06-16 16:35:52 +0200 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2022-06-23 06:28:00 +0200 |
commit | 2c56e94702e897c609711d82057d8267d8f4d0b3 (patch) | |
tree | b037c6951383408517b460577b709f4383a61da0 /src/core/hle/kernel/k_process.cpp | |
parent | Merge pull request #8491 from Morph1984/extra-assert (diff) | |
download | yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.tar yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.tar.gz yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.tar.bz2 yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.tar.lz yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.tar.xz yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.tar.zst yuzu-2c56e94702e897c609711d82057d8267d8f4d0b3.zip |
Diffstat (limited to 'src/core/hle/kernel/k_process.cpp')
-rw-r--r-- | src/core/hle/kernel/k_process.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp index cb84c20e3..b477c6e55 100644 --- a/src/core/hle/kernel/k_process.cpp +++ b/src/core/hle/kernel/k_process.cpp @@ -176,7 +176,8 @@ void KProcess::PinCurrentThread(s32 core_id) { ASSERT(kernel.GlobalSchedulerContext().IsLocked()); // Get the current thread. - KThread* cur_thread = kernel.Scheduler(static_cast<std::size_t>(core_id)).GetCurrentThread(); + KThread* cur_thread = + kernel.Scheduler(static_cast<std::size_t>(core_id)).GetSchedulerCurrentThread(); // If the thread isn't terminated, pin it. if (!cur_thread->IsTerminationRequested()) { @@ -193,7 +194,8 @@ void KProcess::UnpinCurrentThread(s32 core_id) { ASSERT(kernel.GlobalSchedulerContext().IsLocked()); // Get the current thread. - KThread* cur_thread = kernel.Scheduler(static_cast<std::size_t>(core_id)).GetCurrentThread(); + KThread* cur_thread = + kernel.Scheduler(static_cast<std::size_t>(core_id)).GetSchedulerCurrentThread(); // Unpin it. cur_thread->Unpin(); @@ -420,11 +422,11 @@ void KProcess::PrepareForTermination() { ChangeStatus(ProcessStatus::Exiting); const auto stop_threads = [this](const std::vector<KThread*>& in_thread_list) { - for (auto& thread : in_thread_list) { + for (auto* thread : in_thread_list) { if (thread->GetOwnerProcess() != this) continue; - if (thread == kernel.CurrentScheduler()->GetCurrentThread()) + if (thread == GetCurrentThreadPointer(kernel)) continue; // TODO(Subv): When are the other running/ready threads terminated? |