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
commit40bb176c396b7af6ca50d2e26561cbb20d2e40d1 (patch)
tree2c2ed0803aee8dedecc5eaa7d1d56490b93d4665 /src/core/hle/kernel/k_server_session.cpp
parent8a79dd2d6c6445bff63ea1f2f5f1611a6afcd97a (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 3ea653163..ec6812d5a 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) {