diff options
Diffstat (limited to 'src/core/hle/service/service.cpp')
| -rw-r--r-- | src/core/hle/service/service.cpp | 9 |
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 | ||
| 108 | void ServiceFrameworkBase::InstallAsNamedPort() { | 108 | void 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 | ||
| 117 | Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() { | 120 | Kernel::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; |