aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/client_port.cpp
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2019-03-11 10:28:16 -0400
committerLioncash <mathew1800@gmail.com>2019-03-11 10:41:05 -0400
commitaa44eb639bd17b74a67cd614a0c329b4d8d61853 (patch)
tree17aaac37cd8aa703bdb2c3a76c1c276ef9c57aa3 /src/core/hle/kernel/client_port.cpp
parent0aa824b12f61c7c25e909ef181642e6d24ddfd0f (diff)
kernel/server_port: Make data members private
With this, all kernel objects finally have all of their data members behind an interface, making it nicer to reason about interactions with other code (as external code no longer has the freedom to totally alter internals and potentially messing up invariants).
Diffstat (limited to 'src/core/hle/kernel/client_port.cpp')
-rw-r--r--src/core/hle/kernel/client_port.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/core/hle/kernel/client_port.cpp b/src/core/hle/kernel/client_port.cpp
index d4c91d529..aa432658e 100644
--- a/src/core/hle/kernel/client_port.cpp
+++ b/src/core/hle/kernel/client_port.cpp
@@ -33,10 +33,11 @@ ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() {
// Create a new session pair, let the created sessions inherit the parent port's HLE handler.
auto sessions = ServerSession::CreateSessionPair(kernel, server_port->GetName(), this);
- if (server_port->hle_handler)
- server_port->hle_handler->ClientConnected(std::get<SharedPtr<ServerSession>>(sessions));
- else
- server_port->pending_sessions.push_back(std::get<SharedPtr<ServerSession>>(sessions));
+ if (server_port->HasHLEHandler()) {
+ server_port->GetHLEHandler()->ClientConnected(std::get<SharedPtr<ServerSession>>(sessions));
+ } else {
+ server_port->AppendPendingSession(std::get<SharedPtr<ServerSession>>(sessions));
+ }
// Wake the threads waiting on the ServerPort
server_port->WakeupAllWaitingThreads();