diff options
| author | 2019-06-21 15:25:50 -0400 | |
|---|---|---|
| committer | 2019-06-21 15:25:50 -0400 | |
| commit | 8f8fa82c832f3d98d76857c9f65f6587f0249a1e (patch) | |
| tree | f5a0aa3299468002c480367932b1f79e58c0e731 /src/core/hle/kernel/process.cpp | |
| parent | Merge pull request #2546 from DarkLordZach/kips (diff) | |
| parent | kernel: Differentiate kernel and user processes when picking ID (diff) | |
| download | yuzu-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.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 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 | ||
| 51 | SharedPtr<Process> Process::Create(Core::System& system, std::string name) { | 51 | SharedPtr<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)); |