diff options
| author | 2018-01-22 17:30:58 -0500 | |
|---|---|---|
| committer | 2018-01-22 17:31:23 -0500 | |
| commit | 67c43e92005c34da08005cf9f9b542874c5c4005 (patch) | |
| tree | 6459d97221848243a54a9bf8a81036f51ad1466b /src/core | |
| parent | Merge pull request #134 from gdkchan/audout_hid_fix (diff) | |
| download | yuzu-67c43e92005c34da08005cf9f9b542874c5c4005.tar.gz yuzu-67c43e92005c34da08005cf9f9b542874c5c4005.tar.xz yuzu-67c43e92005c34da08005cf9f9b542874c5c4005.zip | |
IPC: Don't create an unnecessary port when using PushIpcInterface outside of a domain.
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index a27cfbc2d..ab479b49b 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h | |||
| @@ -118,10 +118,11 @@ public: | |||
| 118 | if (context->IsDomain()) { | 118 | if (context->IsDomain()) { |
| 119 | context->AddDomainObject(std::move(iface)); | 119 | context->AddDomainObject(std::move(iface)); |
| 120 | } else { | 120 | } else { |
| 121 | auto port = iface->CreatePort(); | 121 | auto sessions = Kernel::ServerSession::CreateSessionPair(iface->GetServiceName()); |
| 122 | auto session = port->Connect(); | 122 | auto server = std::get<Kernel::SharedPtr<Kernel::ServerSession>>(sessions); |
| 123 | ASSERT(session.Succeeded()); | 123 | auto client = std::get<Kernel::SharedPtr<Kernel::ClientSession>>(sessions); |
| 124 | context->AddMoveObject(std::move(session).Unwrap()); | 124 | iface->ClientConnected(server); |
| 125 | context->AddMoveObject(std::move(client)); | ||
| 125 | } | 126 | } |
| 126 | } | 127 | } |
| 127 | 128 | ||