aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/k_server_session.cpp
diff options
context:
space:
mode:
authorLiam <byteslice@airmail.cc>2023-12-06 17:29:32 -0500
committerLiam <byteslice@airmail.cc>2023-12-06 17:33:00 -0500
commitdcc9df5dd2bae9a31ded0843b006b1c3985e8d95 (patch)
tree2c2ed0803aee8dedecc5eaa7d1d56490b93d4665 /src/core/hle/kernel/k_server_session.cpp
parent9046851d9ffe831d1429b2a280e37294da64d07a (diff)
kernel: implement remaining IPC syscalls
Diffstat (limited to 'src/core/hle/kernel/k_server_session.cpp')
-rw-r--r--src/core/hle/kernel/k_server_session.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/hle/kernel/k_server_session.cpp b/src/core/hle/kernel/k_server_session.cpp
index 3ea653163b..ec6812d5ac 100644
--- a/src/core/hle/kernel/k_server_session.cpp
+++ b/src/core/hle/kernel/k_server_session.cpp
@@ -453,6 +453,11 @@ Result KServerSession::ReceiveRequest(std::shared_ptr<Service::HLERequestContext
size_t client_buffer_size = request->GetSize();
// bool recv_list_broken = false;
+ if (!client_message) {
+ client_message = GetInteger(client_thread->GetTlsAddress());
+ client_buffer_size = MessageBufferSize;
+ }
+
// Receive the message.
Core::Memory::Memory& memory{client_thread->GetOwnerProcess()->GetMemory()};
if (out_context != nullptr) {