summaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 11951adaf..8fb907072 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -107,19 +107,24 @@ void ServiceFrameworkBase::InstallAsService(SM::ServiceManager& service_manager)
107 107
108void ServiceFrameworkBase::InstallAsNamedPort() { 108void ServiceFrameworkBase::InstallAsNamedPort() {
109 ASSERT(port == nullptr); 109 ASSERT(port == nullptr);
110
111 auto& kernel = Core::System::GetInstance().Kernel();
110 SharedPtr<ServerPort> server_port; 112 SharedPtr<ServerPort> server_port;
111 SharedPtr<ClientPort> client_port; 113 SharedPtr<ClientPort> client_port;
112 std::tie(server_port, client_port) = ServerPort::CreatePortPair(max_sessions, service_name); 114 std::tie(server_port, client_port) =
115 ServerPort::CreatePortPair(kernel, max_sessions, service_name);
113 server_port->SetHleHandler(shared_from_this()); 116 server_port->SetHleHandler(shared_from_this());
114 AddNamedPort(service_name, std::move(client_port)); 117 AddNamedPort(service_name, std::move(client_port));
115} 118}
116 119
117Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() { 120Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() {
118 ASSERT(port == nullptr); 121 ASSERT(port == nullptr);
122
123 auto& kernel = Core::System::GetInstance().Kernel();
119 Kernel::SharedPtr<Kernel::ServerPort> server_port; 124 Kernel::SharedPtr<Kernel::ServerPort> server_port;
120 Kernel::SharedPtr<Kernel::ClientPort> client_port; 125 Kernel::SharedPtr<Kernel::ClientPort> client_port;
121 std::tie(server_port, client_port) = 126 std::tie(server_port, client_port) =
122 Kernel::ServerPort::CreatePortPair(max_sessions, service_name); 127 Kernel::ServerPort::CreatePortPair(kernel, max_sessions, service_name);
123 port = MakeResult<Kernel::SharedPtr<Kernel::ServerPort>>(std::move(server_port)).Unwrap(); 128 port = MakeResult<Kernel::SharedPtr<Kernel::ServerPort>>(std::move(server_port)).Unwrap();
124 port->SetHleHandler(shared_from_this()); 129 port->SetHleHandler(shared_from_this());
125 return client_port; 130 return client_port;