diff options
| author | 2021-05-15 22:34:55 -0700 | |
|---|---|---|
| committer | 2021-05-20 21:40:30 -0700 | |
| commit | c40e7593f5531884ac91add3d8743b9c08e5535f (patch) | |
| tree | 0d2def92d7e9b9a961a373188edfde1a4c76e313 | |
| parent | Merge pull request #6320 from Morph1984/get-pid (diff) | |
| download | yuzu-c40e7593f5531884ac91add3d8743b9c08e5535f.tar.gz yuzu-c40e7593f5531884ac91add3d8743b9c08e5535f.tar.xz yuzu-c40e7593f5531884ac91add3d8743b9c08e5535f.zip | |
Revert "WORKAROUND: temp. disable session resource limits while we work out issues"
This reverts commit fc086f93b2165b5c210cb7dcd6c18ebe17f1fd7b.
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_client_port.cpp | 8 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_session.cpp | 2 | ||||
| -rw-r--r-- | src/core/hle/service/sm/sm.cpp | 8 |
4 files changed, 11 insertions, 11 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 497f35d23..c0d0860fd 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h | |||
| @@ -151,8 +151,8 @@ public: | |||
| 151 | if (context->Session()->IsDomain()) { | 151 | if (context->Session()->IsDomain()) { |
| 152 | context->AddDomainObject(std::move(iface)); | 152 | context->AddDomainObject(std::move(iface)); |
| 153 | } else { | 153 | } else { |
| 154 | // kernel.CurrentProcess()->GetResourceLimit()->Reserve( | 154 | kernel.CurrentProcess()->GetResourceLimit()->Reserve( |
| 155 | // Kernel::LimitableResource::Sessions, 1); | 155 | Kernel::LimitableResource::Sessions, 1); |
| 156 | 156 | ||
| 157 | auto* session = Kernel::KSession::Create(kernel); | 157 | auto* session = Kernel::KSession::Create(kernel); |
| 158 | session->Initialize(nullptr, iface->GetServiceName()); | 158 | 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 ad01cf67e..4a12dee10 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 { | |||
| 58 | 58 | ||
| 59 | ResultCode KClientPort::CreateSession(KClientSession** out) { | 59 | ResultCode KClientPort::CreateSession(KClientSession** out) { |
| 60 | // Reserve a new session from the resource limit. | 60 | // Reserve a new session from the resource limit. |
| 61 | // KScopedResourceReservation session_reservation(kernel.CurrentProcess()->GetResourceLimit(), | 61 | KScopedResourceReservation session_reservation(kernel.CurrentProcess()->GetResourceLimit(), |
| 62 | // LimitableResource::Sessions); | 62 | LimitableResource::Sessions); |
| 63 | // R_UNLESS(session_reservation.Succeeded(), ResultLimitReached); | 63 | R_UNLESS(session_reservation.Succeeded(), ResultLimitReached); |
| 64 | 64 | ||
| 65 | // Update the session counts. | 65 | // Update the session counts. |
| 66 | { | 66 | { |
| @@ -104,7 +104,7 @@ ResultCode KClientPort::CreateSession(KClientSession** out) { | |||
| 104 | session->Initialize(this, parent->GetName()); | 104 | session->Initialize(this, parent->GetName()); |
| 105 | 105 | ||
| 106 | // Commit the session reservation. | 106 | // Commit the session reservation. |
| 107 | // session_reservation.Commit(); | 107 | session_reservation.Commit(); |
| 108 | 108 | ||
| 109 | // Register the session. | 109 | // Register the session. |
| 110 | KSession::Register(kernel, session); | 110 | KSession::Register(kernel, session); |
diff --git a/src/core/hle/kernel/k_session.cpp b/src/core/hle/kernel/k_session.cpp index b7ce27a0b..025b8b555 100644 --- a/src/core/hle/kernel/k_session.cpp +++ b/src/core/hle/kernel/k_session.cpp | |||
| @@ -78,7 +78,7 @@ void KSession::OnClientClosed() { | |||
| 78 | void KSession::PostDestroy(uintptr_t arg) { | 78 | void KSession::PostDestroy(uintptr_t arg) { |
| 79 | // Release the session count resource the owner process holds. | 79 | // Release the session count resource the owner process holds. |
| 80 | KProcess* owner = reinterpret_cast<KProcess*>(arg); | 80 | KProcess* owner = reinterpret_cast<KProcess*>(arg); |
| 81 | // owner->GetResourceLimit()->Release(LimitableResource::Sessions, 1); | 81 | owner->GetResourceLimit()->Release(LimitableResource::Sessions, 1); |
| 82 | owner->Close(); | 82 | owner->Close(); |
| 83 | } | 83 | } |
| 84 | 84 | ||
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp index 8cc9aee8a..391db48b1 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& | |||
| 158 | 158 | ||
| 159 | auto* port = result.Unwrap(); | 159 | auto* port = result.Unwrap(); |
| 160 | 160 | ||
| 161 | // Kernel::KScopedResourceReservation session_reservation( | 161 | Kernel::KScopedResourceReservation session_reservation( |
| 162 | // kernel.CurrentProcess()->GetResourceLimit(), Kernel::LimitableResource::Sessions); | 162 | kernel.CurrentProcess()->GetResourceLimit(), Kernel::LimitableResource::Sessions); |
| 163 | // R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached); | 163 | R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached); |
| 164 | 164 | ||
| 165 | auto* session = Kernel::KSession::Create(kernel); | 165 | auto* session = Kernel::KSession::Create(kernel); |
| 166 | session->Initialize(&port->GetClientPort(), std::move(name)); | 166 | session->Initialize(&port->GetClientPort(), std::move(name)); |
| 167 | 167 | ||
| 168 | // Commit the session reservation. | 168 | // Commit the session reservation. |
| 169 | // session_reservation.Commit(); | 169 | session_reservation.Commit(); |
| 170 | 170 | ||
| 171 | if (port->GetServerPort().GetHLEHandler()) { | 171 | if (port->GetServerPort().GetHLEHandler()) { |
| 172 | port->GetServerPort().GetHLEHandler()->ClientConnected(&session->GetServerSession()); | 172 | port->GetServerPort().GetHLEHandler()->ClientConnected(&session->GetServerSession()); |