diff options
author | Liam <byteslice@airmail.cc> | 2022-10-31 03:22:14 +0100 |
---|---|---|
committer | Liam <byteslice@airmail.cc> | 2022-10-31 22:47:39 +0100 |
commit | 77b74f5d95626422f59b508cd2b355135ed256ca (patch) | |
tree | cde636e3e2241941d13e66964d2fd3154e0002fa /src/core/hle/service/service.cpp | |
parent | kernel: fix single core for service threads (diff) | |
download | yuzu-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.cpp | 10 |
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(); } |