aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-06-30 18:06:47 -0700
committerbunnei <bunneidev@gmail.com>2021-07-20 18:54:55 -0700
commit7bd020e0307c6a870707440f99bf6bb8b513306f (patch)
treef862958e6f47b0f8b737ddc16bdcfdf5be53e345 /src/core/hle/service/service.cpp
parentb119363fc27994a4eb68405011235c4a1b3cdf8f (diff)
hle: service: sm: Refactor to better manage ports.
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index e6fba88b2..b3e50433b 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -104,23 +104,22 @@ ServiceFrameworkBase::~ServiceFrameworkBase() {
void ServiceFrameworkBase::InstallAsService(SM::ServiceManager& service_manager) {
const auto guard = LockService();
- ASSERT(!port_installed);
+ ASSERT(!service_registered);
- auto port = service_manager.RegisterService(service_name, max_sessions).Unwrap();
- port->SetSessionHandler(shared_from_this());
- port_installed = true;
+ service_manager.RegisterService(service_name, max_sessions, shared_from_this());
+ service_registered = true;
}
Kernel::KClientPort& ServiceFrameworkBase::CreatePort() {
const auto guard = LockService();
- ASSERT(!port_installed);
+ ASSERT(!service_registered);
auto* port = Kernel::KPort::Create(kernel);
port->Initialize(max_sessions, false, service_name);
port->GetServerPort().SetSessionHandler(shared_from_this());
- port_installed = true;
+ service_registered = true;
return port->GetClientPort();
}