summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-06-10 07:29:18 +0200
committerbunnei <bunneidev@gmail.com>2021-06-10 07:29:18 +0200
commitec5674a6ad89ec705e835d2b711dca18f4ef1616 (patch)
tree592ae4d893972f5a5fad433ba64ec529079fd4f4 /src/core/hle/service
parenthle: service: Use correct size for ServerSessionCountMax. (diff)
downloadyuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.tar
yuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.tar.gz
yuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.tar.bz2
yuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.tar.lz
yuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.tar.xz
yuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.tar.zst
yuzu-ec5674a6ad89ec705e835d2b711dca18f4ef1616.zip
Diffstat (limited to 'src/core/hle/service')
-rw-r--r--src/core/hle/service/sm/sm.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/hle/service/sm/sm.cpp b/src/core/hle/service/sm/sm.cpp
index bffa9ffcb..a1e1a7d76 100644
--- a/src/core/hle/service/sm/sm.cpp
+++ b/src/core/hle/service/sm/sm.cpp
@@ -164,18 +164,18 @@ ResultVal<Kernel::KClientSession*> SM::GetServiceImpl(Kernel::HLERequestContext&
R_UNLESS(session_reservation.Succeeded(), Kernel::ResultLimitReached);
// Create a new session.
- auto* session = Kernel::KSession::Create(kernel);
- session->Initialize(&port->GetClientPort(), std::move(name));
+ Kernel::KClientSession* session{};
+ port->GetClientPort().CreateSession(std::addressof(session));
// Commit the session reservation.
session_reservation.Commit();
// Enqueue the session with the named port.
- port->EnqueueSession(&session->GetServerSession());
+ port->EnqueueSession(&session->GetParent()->GetServerSession());
LOG_DEBUG(Service_SM, "called service={} -> session={}", name, session->GetId());
- return MakeResult(&session->GetClientSession());
+ return MakeResult(session);
}
void SM::RegisterService(Kernel::HLERequestContext& ctx) {