summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_process.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-06-16 16:35:52 +0200
committerLiam <byteslice@airmail.cc>2022-06-23 06:28:00 +0200
commit2c56e94702e897c609711d82057d8267d8f4d0b3 (patch)
treeb037c6951383408517b460577b709f4383a61da0 /src/core/hle/kernel/k_process.cpp
parentMerge pull request #8491 from Morph1984/extra-assert (diff)
downloadyuzu-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.cpp10
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?