hle: service: sm: GetService: Reserve session resource when we create a KSession.
This commit is contained in:
		| @@ -133,9 +133,16 @@ void SM::GetService(Kernel::HLERequestContext& ctx) { | ||||
|  | ||||
|     auto* port = result.Unwrap(); | ||||
|  | ||||
|     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(); | ||||
|  | ||||
|     if (port->GetServerPort().GetHLEHandler()) { | ||||
|         port->GetServerPort().GetHLEHandler()->ClientConnected(&session->GetServerSession()); | ||||
|     } else { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user