summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_process.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-06-16 02:53:49 +0200
committerLiam <byteslice@airmail.cc>2022-06-16 02:53:49 +0200
commit744a20876301bd97dab06022e38a07553434f10f (patch)
tree629a48fa2061504484c692a35feefb2d076e35e9 /src/core/hle/kernel/k_process.cpp
parentMerge pull request #8457 from liamwhite/kprocess-suspend (diff)
downloadyuzu-744a20876301bd97dab06022e38a07553434f10f.tar
yuzu-744a20876301bd97dab06022e38a07553434f10f.tar.gz
yuzu-744a20876301bd97dab06022e38a07553434f10f.tar.bz2
yuzu-744a20876301bd97dab06022e38a07553434f10f.tar.lz
yuzu-744a20876301bd97dab06022e38a07553434f10f.tar.xz
yuzu-744a20876301bd97dab06022e38a07553434f10f.tar.zst
yuzu-744a20876301bd97dab06022e38a07553434f10f.zip
Diffstat (limited to 'src/core/hle/kernel/k_process.cpp')
-rw-r--r--src/core/hle/kernel/k_process.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp
index cd863e715..61a4fb464 100644
--- a/src/core/hle/kernel/k_process.cpp
+++ b/src/core/hle/kernel/k_process.cpp
@@ -57,18 +57,13 @@ void SetupMainThread(Core::System& system, KProcess& owner_process, u32 priority
thread->GetContext64().cpu_registers[0] = 0;
thread->GetContext32().cpu_registers[1] = thread_handle;
thread->GetContext64().cpu_registers[1] = thread_handle;
- thread->DisableDispatch();
- auto& kernel = system.Kernel();
- // Threads by default are dormant, wake up the main thread so it runs when the scheduler fires
- {
- KScopedSchedulerLock lock{kernel};
- thread->SetState(ThreadState::Runnable);
-
- if (system.DebuggerEnabled()) {
- thread->RequestSuspend(SuspendType::Debug);
- }
+ if (system.DebuggerEnabled()) {
+ thread->RequestSuspend(SuspendType::Debug);
}
+
+ // Run our thread.
+ void(thread->Run());
}
} // Anonymous namespace