sm:: avoid excessive port recreation
This commit is contained in:
parent
633411c20f
commit
77b74f5d95
3 changed files with 24 additions and 18 deletions
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue