Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
This reverts commit fc086f93b2
.
This commit is contained in:
parent
ea4e4b05e4
commit
c40e7593f5
|
@ -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());
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
|
@ -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());
|
||||
|
|
Reference in New Issue