summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/hle_ipc.cpp
diff options
context:
space:
mode:
authorZach Hilman <zachhilman@gmail.com>2018-11-29 15:14:12 +0100
committerZach Hilman <zachhilman@gmail.com>2018-11-29 15:14:20 +0100
commit170d7078507745fee4c8952aa5888108b2b76b91 (patch)
tree6bc3c4cbbe36518a7e9b8e62a6b4042cb420861e /src/core/hle/kernel/hle_ipc.cpp
parentkernel/event: Reference ReadableEvent from WritableEvent (diff)
downloadyuzu-170d7078507745fee4c8952aa5888108b2b76b91.tar
yuzu-170d7078507745fee4c8952aa5888108b2b76b91.tar.gz
yuzu-170d7078507745fee4c8952aa5888108b2b76b91.tar.bz2
yuzu-170d7078507745fee4c8952aa5888108b2b76b91.tar.lz
yuzu-170d7078507745fee4c8952aa5888108b2b76b91.tar.xz
yuzu-170d7078507745fee4c8952aa5888108b2b76b91.tar.zst
yuzu-170d7078507745fee4c8952aa5888108b2b76b91.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/kernel/hle_ipc.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp
index 21fda42d6..61ce7d7e4 100644
--- a/src/core/hle/kernel/hle_ipc.cpp
+++ b/src/core/hle/kernel/hle_ipc.cpp
@@ -39,7 +39,7 @@ void SessionRequestHandler::ClientDisconnected(const SharedPtr<ServerSession>& s
SharedPtr<WritableEvent> HLERequestContext::SleepClientThread(
SharedPtr<Thread> thread, const std::string& reason, u64 timeout, WakeupCallback&& callback,
- SharedPtr<WritableEvent> writable_event, SharedPtr<ReadableEvent> readable_event) {
+ SharedPtr<WritableEvent> writable_event) {
// Put the client thread to sleep until the wait event is signaled or the timeout expires.
thread->SetWakeupCallback([context = *this, callback](
ThreadWakeupReason reason, SharedPtr<Thread> thread,
@@ -51,14 +51,14 @@ SharedPtr<WritableEvent> HLERequestContext::SleepClientThread(
});
auto& kernel = Core::System::GetInstance().Kernel();
- if (!writable_event || !readable_event) {
+ if (!writable_event) {
// Create event if not provided
const auto pair = WritableEvent::CreateEventPair(kernel, Kernel::ResetType::OneShot,
"HLE Pause Event: " + reason);
writable_event = pair.writable;
- readable_event = pair.readable;
}
+ const auto readable_event{writable_event->GetReadableEvent()};
writable_event->Clear();
thread->SetStatus(ThreadStatus::WaitHLEEvent);
thread->SetWaitObjects({readable_event});