diff options
Diffstat (limited to 'src/core/hle/kernel/server_port.cpp')
-rw-r--r-- | src/core/hle/kernel/server_port.cpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/src/core/hle/kernel/server_port.cpp b/src/core/hle/kernel/server_port.cpp index 8626b56fd..addaaa5cf 100644 --- a/src/core/hle/kernel/server_port.cpp +++ b/src/core/hle/kernel/server_port.cpp @@ -4,7 +4,7 @@ #include <tuple> #include "common/assert.h" -#include "core/hle/kernel/client_port.h" +#include "core/hle/kernel/k_client_port.h" #include "core/hle/kernel/k_server_session.h" #include "core/hle/kernel/k_thread.h" #include "core/hle/kernel/object.h" @@ -40,15 +40,16 @@ bool ServerPort::IsSignaled() const { ServerPort::PortPair ServerPort::CreatePortPair(KernelCore& kernel, u32 max_sessions, std::string name) { std::shared_ptr<ServerPort> server_port = std::make_shared<ServerPort>(kernel); - std::shared_ptr<ClientPort> client_port = std::make_shared<ClientPort>(kernel); + KClientPort* client_port = new KClientPort(kernel); - server_port->name = name + "_Server"; - client_port->name = name + "_Client"; + KAutoObject::Create(client_port); + + client_port->Initialize(max_sessions, name + "_Client"); client_port->server_port = server_port; - client_port->max_sessions = max_sessions; - client_port->active_sessions = 0; - return std::make_pair(std::move(server_port), std::move(client_port)); + server_port->name = name + "_Server"; + + return std::make_pair(std::move(server_port), client_port); } } // namespace Kernel |