summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/client_port.cpp
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2016-12-08 17:06:19 +0100
committerSubv <subv2112@gmail.com>2016-12-08 17:06:19 +0100
commitf9bcf895103e5a6d99f5fe755bcac92b7781fd38 (patch)
treeaebba4794da82175756a09e7d4d1de8d835bf412 /src/core/hle/kernel/client_port.cpp
parentReturn an error code when connecting to a saturated port. (diff)
downloadyuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.tar
yuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.tar.gz
yuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.tar.bz2
yuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.tar.lz
yuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.tar.xz
yuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.tar.zst
yuzu-f9bcf895103e5a6d99f5fe755bcac92b7781fd38.zip
Diffstat (limited to 'src/core/hle/kernel/client_port.cpp')
-rw-r--r--src/core/hle/kernel/client_port.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/core/hle/kernel/client_port.cpp b/src/core/hle/kernel/client_port.cpp
index 120ce554d..20179e546 100644
--- a/src/core/hle/kernel/client_port.cpp
+++ b/src/core/hle/kernel/client_port.cpp
@@ -15,6 +15,9 @@ ClientPort::ClientPort() {}
ClientPort::~ClientPort() {}
ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() {
+ // Note: Threads do not wait for the server endpoint to call
+ // AcceptSession before returning from this call.
+
if (active_sessions >= max_sessions) {
return ResultCode(ErrorDescription::MaxConnectionsReached,
ErrorModule::OS, ErrorSummary::WouldBlock,
@@ -27,7 +30,7 @@ ResultVal<SharedPtr<ClientSession>> ClientPort::Connect() {
auto client_session = std::get<SharedPtr<ClientSession>>(sessions);
auto server_session = std::get<SharedPtr<ServerSession>>(sessions);
- server_port->pending_sessions.push_back(server_session);
+ server_port->pending_sessions.push_back(std::move(server_session));
// Wake the threads waiting on the ServerPort
server_port->WakeupAllWaitingThreads();