aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-05-15 22:34:55 -0700
committerbunnei <bunneidev@gmail.com>2021-05-20 21:40:30 -0700
commitc40e7593f5531884ac91add3d8743b9c08e5535f (patch)
tree0d2def92d7e9b9a961a373188edfde1a4c76e313 /src
parentea4e4b05e4c05b704646a65a4bf98f218dbb867a (diff)
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
This reverts commit fc086f93b2165b5c210cb7dcd6c18ebe17f1fd7b.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/ipc_helpers.h4
-rw-r--r--src/core/hle/kernel/k_client_port.cpp8
-rw-r--r--src/core/hle/kernel/k_session.cpp2
-rw-r--r--src/core/hle/service/sm/sm.cpp8
4 files changed, 11 insertions, 11 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h
index 497f35d237..c0d0860fd1 100644
--- a/src/core/hle/ipc_helpers.h
+++ b/src/core/hle/ipc_helpers.h
@@ -151,8 +151,8 @@ public:
if (context->Session()->IsDomain()) {
context->AddDomainObject(std::move(iface));
} else {
- // kernel.CurrentProcess()->GetResourceLimit()->Reserve(
- // Kernel::LimitableResource::Sessions, 1);
+ kernel.CurrentProcess()->GetResourceLimit()->Reserve(
+ Kernel::LimitableResource::Sessions, 1);
auto* session = Kernel::KSession::Create(kernel);
session->Initialize(nullptr, iface->GetServiceName());
diff --git a/src/core/hle/kernel/k_client_port.cpp b/src/core/hle/kernel/k_client_port.cpp
index ad01cf67ea..4a12dee10b 100644
--- a/src/core/hle/kernel/k_client_port.cpp
+++ b/src/core/hle/kernel/k_client_port.cpp
@@ -58,9 +58,9 @@ bool KClientPort::IsSignaled() const {
ResultCode KClientPort::CreateSession(KClientSession** out) {
// Reserve a new session from the resource limit.
- // KScopedResourceReservation session_reservation(kernel.CurrentProcess()->GetResourceLimit(),
- // LimitableResource::Sessions);
- // R_UNLESS(session_reservation.Succeeded(), ResultLimitReached);
+ KScopedResourceReservation session_reservation(kernel.CurrentProcess()->GetResourceLimit(),
+ LimitableResource::Sessions);
+ R_UNLESS(session_reservation.Succeeded(), ResultLimitReached);
// Update the session counts.
{
@@ -104,7 +104,7 @@ ResultCode KClientPort::CreateSession(KClientSession** out) {
session->Initialize(this, parent->GetName());
// Commit the session reservation.
- // session_reservation.Commit();
+ session_reservation.Commit();
// Register the session.
KSession::Register(kernel, session);
diff --git a/src/core/hle/kernel/k_session.cpp b/src/core/hle/kernel/k_session.cpp
index b7ce27a0b8..025b8b555e 100644
--- a/src/core/hle/kernel/k_session.cpp
+++ b/src/core/hle/kernel/k_session.cpp
@@ -78,7 +78,7 @@ void KSession::OnClientClosed() {
void KSession::PostDestroy(uintptr_t arg) {
// Release the session count resource the owner process holds.
KProcess* owner = reinterpret_cast<KProcess*>(arg);
- // owner->GetResourceLimit()->Release(LimitableResource::Sessions, 1);
+ owner->GetResourceLimit()->Release(LimitableResource::Sessions, 1);
owner->Close();
}
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index 8cc9aee8a7..391db48b1d 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -158,15 +158,15 @@ ResultVal<Kernel::KClientSession*> SM::GetServiceImpl(Kernel::HLERequestContext&
auto* port = result.Unwrap();
- // Kernel::KScopedResourceReservation session_reservation(
- // kernel.CurrentProcess()->GetResourceLimit(), Kernel::LimitableResource::Sessions);
- // R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached);
+ Kernel::KScopedResourceReservation session_reservation(
+ kernel.CurrentProcess()->GetResourceLimit(), Kernel::LimitableResource::Sessions);
+ R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached);
auto* session = Kernel::KSession::Create(kernel);
session->Initialize(&port->GetClientPort(), std::move(name));
// Commit the session reservation.
- // session_reservation.Commit();
+ session_reservation.Commit();
if (port->GetServerPort().GetHLEHandler()) {
port->GetServerPort().GetHLEHandler()->ClientConnected(&session->GetServerSession());