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
commit9c8de2ee40ac11aab9766445fb21df81b6d6e504 (patch)
tree17aaac37cd8aa703bdb2c3a76c1c276ef9c57aa3 /src/core/hle/kernel/client_port.cpp
parentcc357510d74f607f3318206d43819016ac0bc8b4 (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 d4c91d529c..aa432658e8 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();