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.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)
119Kernel::KClientPort& ServiceFrameworkBase::CreatePort() { 119Kernel::KClientPort& ServiceFrameworkBase::CreatePort() {
120 const auto guard = LockService(); 120 const auto guard = LockService();
121 121
122 ASSERT(!service_registered); 122 if (named_port == nullptr) {
123 ASSERT(!service_registered);
123 124
124 named_port = Kernel::KPort::Create(kernel); 125 named_port = Kernel::KPort::Create(kernel);
125 named_port->Initialize(max_sessions, false, service_name); 126 named_port->Initialize(max_sessions, false, service_name);
126 127
127 service_registered = true; 128 service_registered = true;
129 }
128 130
129 return named_port->GetClientPort(); 131 return named_port->GetClientPort();
130} 132}