aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/kernel.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2019-06-21 15:25:50 -0400
committerGitHub <noreply@github.com>2019-06-21 15:25:50 -0400
commit8f8fa82c832f3d98d76857c9f65f6587f0249a1e (patch)
treef5a0aa3299468002c480367932b1f79e58c0e731 /src/core/hle/kernel/kernel.cpp
parente2f7933b3f104e7e198d283f39a1b45956da4d3c (diff)
parentfc0bf91a969cddeb2f84c3e7c3a862fe98f1d438 (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/kernel.cpp')
-rw-r--r--src/core/hle/kernel/kernel.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/kernel/kernel.cpp b/src/core/hle/kernel/kernel.cpp
index 757e5f21f..799e5e0d8 100644
--- a/src/core/hle/kernel/kernel.cpp
+++ b/src/core/hle/kernel/kernel.cpp
@@ -99,7 +99,8 @@ struct KernelCore::Impl {
void Shutdown() {
next_object_id = 0;
- next_process_id = Process::ProcessIDMin;
+ next_kernel_process_id = Process::InitialKIPIDMin;
+ next_user_process_id = Process::ProcessIDMin;
next_thread_id = 1;
process_list.clear();
@@ -132,7 +133,8 @@ struct KernelCore::Impl {
}
std::atomic<u32> next_object_id{0};
- std::atomic<u64> next_process_id{Process::ProcessIDMin};
+ std::atomic<u64> next_kernel_process_id{Process::InitialKIPIDMin};
+ std::atomic<u64> next_user_process_id{Process::ProcessIDMin};
std::atomic<u64> next_thread_id{1};
// Lists all processes that exist in the current session.
@@ -226,8 +228,12 @@ u64 KernelCore::CreateNewThreadID() {
return impl->next_thread_id++;
}
-u64 KernelCore::CreateNewProcessID() {
- return impl->next_process_id++;
+u64 KernelCore::CreateNewKernelProcessID() {
+ return impl->next_kernel_process_id++;
+}
+
+u64 KernelCore::CreateNewUserProcessID() {
+ return impl->next_user_process_id++;
}
Core::Timing::EventType* KernelCore::ThreadWakeupCallbackEventType() const {