summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/k_process.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2022-02-21 21:33:17 +0100
committerbunnei <bunneidev@gmail.com>2022-02-21 21:41:31 +0100
commita74fddc98f5c02b2d0be90c6d87ec3779300ee11 (patch)
treeb801352807790e645bca502bdfb0b9ad1195fef6 /src/core/hle/kernel/k_process.cpp
parentcore: hle: kernel: KEvent: Pass in owner KProcess on event creation. (diff)
downloadyuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.tar
yuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.tar.gz
yuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.tar.bz2
yuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.tar.lz
yuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.tar.xz
yuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.tar.zst
yuzu-a74fddc98f5c02b2d0be90c6d87ec3779300ee11.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/k_process.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/core/hle/kernel/k_process.cpp b/src/core/hle/kernel/k_process.cpp
index 85c506979..9233261cd 100644
--- a/src/core/hle/kernel/k_process.cpp
+++ b/src/core/hle/kernel/k_process.cpp
@@ -123,12 +123,11 @@ private:
};
ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::string process_name,
- ProcessType type) {
+ ProcessType type, KResourceLimit* res_limit) {
auto& kernel = system.Kernel();
process->name = std::move(process_name);
-
- process->resource_limit = kernel.GetSystemResourceLimit();
+ process->resource_limit = res_limit;
process->status = ProcessStatus::Created;
process->program_id = 0;
process->process_id = type == ProcessType::KernelInternal ? kernel.CreateNewKernelProcessID()
@@ -143,9 +142,6 @@ ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::st
kernel.AppendNewProcess(process);
- // Open a reference to the resource limit.
- process->resource_limit->Open();
-
// Clear remaining fields.
process->num_running_threads = 0;
process->is_signaled = false;
@@ -153,6 +149,9 @@ ResultCode KProcess::Initialize(KProcess* process, Core::System& system, std::st
process->is_suspended = false;
process->schedule_count = 0;
+ // Open a reference to the resource limit.
+ process->resource_limit->Open();
+
return ResultSuccess;
}