summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/process.cpp
diff options
context:
space:
mode:
authorGravatar bunnei2019-06-21 15:25:50 -0400
committerGravatar GitHub2019-06-21 15:25:50 -0400
commit8f8fa82c832f3d98d76857c9f65f6587f0249a1e (patch)
treef5a0aa3299468002c480367932b1f79e58c0e731 /src/core/hle/kernel/process.cpp
parentMerge pull request #2546 from DarkLordZach/kips (diff)
parentkernel: Differentiate kernel and user processes when picking ID (diff)
downloadyuzu-8f8fa82c832f3d98d76857c9f65f6587f0249a1e.tar.gz
yuzu-8f8fa82c832f3d98d76857c9f65f6587f0249a1e.tar.xz
yuzu-8f8fa82c832f3d98d76857c9f65f6587f0249a1e.zip
Merge pull request #2575 from DarkLordZach/process-id-types
kernel: Differentiate kernel and user processes when picking ID
Diffstat (limited to 'src/core/hle/kernel/process.cpp')
-rw-r--r--src/core/hle/kernel/process.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp
index 2b81a8d4f..7cfc513a1 100644
--- a/src/core/hle/kernel/process.cpp
+++ b/src/core/hle/kernel/process.cpp
@@ -48,7 +48,8 @@ void SetupMainThread(Process& owner_process, KernelCore& kernel, u32 priority) {
48} 48}
49} // Anonymous namespace 49} // Anonymous namespace
50 50
51SharedPtr<Process> Process::Create(Core::System& system, std::string name) { 51SharedPtr<Process> Process::Create(Core::System& system, std::string name,
52 Process::ProcessType type) {
52 auto& kernel = system.Kernel(); 53 auto& kernel = system.Kernel();
53 54
54 SharedPtr<Process> process(new Process(system)); 55 SharedPtr<Process> process(new Process(system));
@@ -56,7 +57,8 @@ SharedPtr<Process> Process::Create(Core::System& system, std::string name) {
56 process->resource_limit = kernel.GetSystemResourceLimit(); 57 process->resource_limit = kernel.GetSystemResourceLimit();
57 process->status = ProcessStatus::Created; 58 process->status = ProcessStatus::Created;
58 process->program_id = 0; 59 process->program_id = 0;
59 process->process_id = kernel.CreateNewProcessID(); 60 process->process_id = type == ProcessType::KernelInternal ? kernel.CreateNewKernelProcessID()
61 : kernel.CreateNewUserProcessID();
60 process->capabilities.InitializeForMetadatalessProcess(); 62 process->capabilities.InitializeForMetadatalessProcess();
61 63
62 std::mt19937 rng(Settings::values.rng_seed.value_or(0)); 64 std::mt19937 rng(Settings::values.rng_seed.value_or(0));