diff options
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index d1eb8b075..c76302dc9 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h | |||
| @@ -15,6 +15,8 @@ | |||
| 15 | #include "core/hle/ipc.h" | 15 | #include "core/hle/ipc.h" |
| 16 | #include "core/hle/kernel/hle_ipc.h" | 16 | #include "core/hle/kernel/hle_ipc.h" |
| 17 | #include "core/hle/kernel/k_client_port.h" | 17 | #include "core/hle/kernel/k_client_port.h" |
| 18 | #include "core/hle/kernel/k_process.h" | ||
| 19 | #include "core/hle/kernel/k_resource_limit.h" | ||
| 18 | #include "core/hle/kernel/k_session.h" | 20 | #include "core/hle/kernel/k_session.h" |
| 19 | #include "core/hle/result.h" | 21 | #include "core/hle/result.h" |
| 20 | 22 | ||
| @@ -148,6 +150,9 @@ public: | |||
| 148 | if (context->Session()->IsDomain()) { | 150 | if (context->Session()->IsDomain()) { |
| 149 | context->AddDomainObject(std::move(iface)); | 151 | context->AddDomainObject(std::move(iface)); |
| 150 | } else { | 152 | } else { |
| 153 | kernel.CurrentProcess()->GetResourceLimit()->Reserve( | ||
| 154 | Kernel::LimitableResource::Sessions, 1); | ||
| 155 | |||
| 151 | auto* session = Kernel::KSession::Create(kernel); | 156 | auto* session = Kernel::KSession::Create(kernel); |
| 152 | session->Initialize(nullptr, iface->GetServiceName()); | 157 | session->Initialize(nullptr, iface->GetServiceName()); |
| 153 | 158 | ||