diff options
| author | bunnei <bunneidev@gmail.com> | 2019-06-21 15:25:50 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-06-21 15:25:50 -0400 |
| commit | 9ee4e61659a8988b243bff5a61cdadf52019f2f0 (patch) | |
| tree | f5a0aa3299468002c480367932b1f79e58c0e731 /src/core/hle/kernel/process.cpp | |
| parent | a43061206cd6945d2da30405995869fec3923c41 (diff) | |
| parent | 3f221f8e3f4cd12b68be5b737c9b3e5a1b111cf1 (diff) | |
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.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core/hle/kernel/process.cpp b/src/core/hle/kernel/process.cpp index 2b81a8d4ff..7cfc513a1c 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) { } } // Anonymous namespace -SharedPtr<Process> Process::Create(Core::System& system, std::string name) { +SharedPtr<Process> Process::Create(Core::System& system, std::string name, + Process::ProcessType type) { auto& kernel = system.Kernel(); SharedPtr<Process> process(new Process(system)); @@ -56,7 +57,8 @@ SharedPtr<Process> Process::Create(Core::System& system, std::string name) { process->resource_limit = kernel.GetSystemResourceLimit(); process->status = ProcessStatus::Created; process->program_id = 0; - process->process_id = kernel.CreateNewProcessID(); + process->process_id = type == ProcessType::KernelInternal ? kernel.CreateNewKernelProcessID() + : kernel.CreateNewUserProcessID(); process->capabilities.InitializeForMetadatalessProcess(); std::mt19937 rng(Settings::values.rng_seed.value_or(0)); |
