summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2022-10-31 03:22:14 +0100
committerLiam <byteslice@airmail.cc>2022-10-31 22:47:39 +0100
commit77b74f5d95626422f59b508cd2b355135ed256ca (patch)
treecde636e3e2241941d13e66964d2fd3154e0002fa /src/core/hle/service/service.cpp
parentkernel: fix single core for service threads (diff)
downloadyuzu-77b74f5d95626422f59b508cd2b355135ed256ca.tar
yuzu-77b74f5d95626422f59b508cd2b355135ed256ca.tar.gz
yuzu-77b74f5d95626422f59b508cd2b355135ed256ca.tar.bz2
yuzu-77b74f5d95626422f59b508cd2b355135ed256ca.tar.lz
yuzu-77b74f5d95626422f59b508cd2b355135ed256ca.tar.xz
yuzu-77b74f5d95626422f59b508cd2b355135ed256ca.tar.zst
yuzu-77b74f5d95626422f59b508cd2b355135ed256ca.zip
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 6a64c6005..5ab41c0c4 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -119,12 +119,14 @@ void ServiceFrameworkBase::InstallAsService(SM::ServiceManager& service_manager)
Kernel::KClientPort& ServiceFrameworkBase::CreatePort() {
const auto guard = LockService();
- ASSERT(!service_registered);
+ if (named_port == nullptr) {
+ ASSERT(!service_registered);
- named_port = Kernel::KPort::Create(kernel);
- named_port->Initialize(max_sessions, false, service_name);
+ named_port = Kernel::KPort::Create(kernel);
+ named_port->Initialize(max_sessions, false, service_name);
- service_registered = true;
+ service_registered = true;
+ }
return named_port->GetClientPort();
}