diff options
author | Subv <subv2112@gmail.com> | 2016-12-09 18:52:12 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-12-09 18:52:12 +0100 |
commit | ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3 (patch) | |
tree | bea70b5f82c2777939b69e4774bae5a320e33669 /src/core/hle/kernel/server_session.cpp | |
parent | Kernel/IPC: Small codestyle cleanup (diff) | |
download | yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.tar yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.tar.gz yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.tar.bz2 yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.tar.lz yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.tar.xz yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.tar.zst yuzu-ebbb55ec8f827096f1c743cc4b7f4a2aa05a3ed3.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/server_session.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/core/hle/kernel/server_session.cpp b/src/core/hle/kernel/server_session.cpp index 3fac6b934..1e54c3a2e 100644 --- a/src/core/hle/kernel/server_session.cpp +++ b/src/core/hle/kernel/server_session.cpp @@ -41,8 +41,14 @@ ResultCode ServerSession::HandleSyncRequest() { // from its ClientSession, so wake up any threads that may be waiting on a svcReplyAndReceive or similar. // If this ServerSession has an associated HLE handler, forward the request to it. - if (hle_handler != nullptr) - return hle_handler->HandleSyncRequest(SharedPtr<ServerSession>(this)); + if (hle_handler != nullptr) { + // Attempt to translate the incoming request's command buffer. + ResultCode result = TranslateHLERequest(this); + if (result.IsError()) + return result; + hle_handler->HandleSyncRequest(SharedPtr<ServerSession>(this)); + // TODO(Subv): Translate the response command buffer. + } // If this ServerSession does not have an HLE implementation, just wake up the threads waiting on it. signaled = true; @@ -60,4 +66,9 @@ ServerSession::SessionPair ServerSession::CreateSessionPair(const std::string& n return std::make_tuple(std::move(server_session), std::move(client_session)); } +ResultCode TranslateHLERequest(ServerSession* server_session) { + // TODO(Subv): Implement this function once multiple concurrent processes are supported. + return RESULT_SUCCESS; +} + } |