IPC: Don't create an unnecessary port when using PushIpcInterface outside of a domain.

This commit is contained in:
Subv 2018-01-22 17:30:58 -05:00
parent de2e5a0855
commit 67c43e9200

View File

@ -118,10 +118,11 @@ public:
if (context->IsDomain()) { if (context->IsDomain()) {
context->AddDomainObject(std::move(iface)); context->AddDomainObject(std::move(iface));
} else { } else {
auto port = iface->CreatePort(); auto sessions = Kernel::ServerSession::CreateSessionPair(iface->GetServiceName());
auto session = port->Connect(); auto server = std::get<Kernel::SharedPtr<Kernel::ServerSession>>(sessions);
ASSERT(session.Succeeded()); auto client = std::get<Kernel::SharedPtr<Kernel::ClientSession>>(sessions);
context->AddMoveObject(std::move(session).Unwrap()); iface->ClientConnected(server);
context->AddMoveObject(std::move(client));
} }
} }