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()) {
|
if (context->Session()->IsDomain()) {
|
||||||
context->AddDomainObject(std::move(iface));
|
context->AddDomainObject(std::move(iface));
|
||||||
} else {
|
} else {
|
||||||
// kernel.CurrentProcess()->GetResourceLimit()->Reserve(
|
kernel.CurrentProcess()->GetResourceLimit()->Reserve(
|
||||||
// Kernel::LimitableResource::Sessions, 1);
|
Kernel::LimitableResource::Sessions, 1);
|
||||||
|
|
||||||
auto* session = Kernel::KSession::Create(kernel);
|
auto* session = Kernel::KSession::Create(kernel);
|
||||||
session->Initialize(nullptr, iface->GetServiceName());
|
session->Initialize(nullptr, iface->GetServiceName());
|
||||||
|
|
|
@ -58,9 +58,9 @@ bool KClientPort::IsSignaled() const {
|
||||||
|
|
||||||
ResultCode KClientPort::CreateSession(KClientSession** out) {
|
ResultCode KClientPort::CreateSession(KClientSession** out) {
|
||||||
// Reserve a new session from the resource limit.
|
// Reserve a new session from the resource limit.
|
||||||
// KScopedResourceReservation session_reservation(kernel.CurrentProcess()->GetResourceLimit(),
|
KScopedResourceReservation session_reservation(kernel.CurrentProcess()->GetResourceLimit(),
|
||||||
// LimitableResource::Sessions);
|
LimitableResource::Sessions);
|
||||||
// R_UNLESS(session_reservation.Succeeded(), ResultLimitReached);
|
R_UNLESS(session_reservation.Succeeded(), ResultLimitReached);
|
||||||
|
|
||||||
// Update the session counts.
|
// Update the session counts.
|
||||||
{
|
{
|
||||||
|
@ -104,7 +104,7 @@ ResultCode KClientPort::CreateSession(KClientSession** out) {
|
||||||
session->Initialize(this, parent->GetName());
|
session->Initialize(this, parent->GetName());
|
||||||
|
|
||||||
// Commit the session reservation.
|
// Commit the session reservation.
|
||||||
// session_reservation.Commit();
|
session_reservation.Commit();
|
||||||
|
|
||||||
// Register the session.
|
// Register the session.
|
||||||
KSession::Register(kernel, session);
|
KSession::Register(kernel, session);
|
||||||
|
|
|
@ -78,7 +78,7 @@ void KSession::OnClientClosed() {
|
||||||
void KSession::PostDestroy(uintptr_t arg) {
|
void KSession::PostDestroy(uintptr_t arg) {
|
||||||
// Release the session count resource the owner process holds.
|
// Release the session count resource the owner process holds.
|
||||||
KProcess* owner = reinterpret_cast<KProcess*>(arg);
|
KProcess* owner = reinterpret_cast<KProcess*>(arg);
|
||||||
// owner->GetResourceLimit()->Release(LimitableResource::Sessions, 1);
|
owner->GetResourceLimit()->Release(LimitableResource::Sessions, 1);
|
||||||
owner->Close();
|
owner->Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -158,15 +158,15 @@ ResultVal<Kernel::KClientSession*> SM::GetServiceImpl(Kernel::HLERequestContext&
|
||||||
|
|
||||||
auto* port = result.Unwrap();
|
auto* port = result.Unwrap();
|
||||||
|
|
||||||
// Kernel::KScopedResourceReservation session_reservation(
|
Kernel::KScopedResourceReservation session_reservation(
|
||||||
// kernel.CurrentProcess()->GetResourceLimit(), Kernel::LimitableResource::Sessions);
|
kernel.CurrentProcess()->GetResourceLimit(), Kernel::LimitableResource::Sessions);
|
||||||
// R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached);
|
R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached);
|
||||||
|
|
||||||
auto* session = Kernel::KSession::Create(kernel);
|
auto* session = Kernel::KSession::Create(kernel);
|
||||||
session->Initialize(&port->GetClientPort(), std::move(name));
|
session->Initialize(&port->GetClientPort(), std::move(name));
|
||||||
|
|
||||||
// Commit the session reservation.
|
// Commit the session reservation.
|
||||||
// session_reservation.Commit();
|
session_reservation.Commit();
|
||||||
|
|
||||||
if (port->GetServerPort().GetHLEHandler()) {
|
if (port->GetServerPort().GetHLEHandler()) {
|
||||||
port->GetServerPort().GetHLEHandler()->ClientConnected(&session->GetServerSession());
|
port->GetServerPort().GetHLEHandler()->ClientConnected(&session->GetServerSession());
|
||||||
|
|
Reference in New Issue