From 0b8baedab72d7453722a41d638789e2e659800b0 Mon Sep 17 00:00:00 2001 From: georgemoralis Date: Sat, 18 May 2024 10:02:40 +0300 Subject: [PATCH] improved sceKernelWaitEqueue --- src/core/libraries/kernel/event_queues.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/core/libraries/kernel/event_queues.cpp b/src/core/libraries/kernel/event_queues.cpp index d8d3bfdf8..0949ea334 100644 --- a/src/core/libraries/kernel/event_queues.cpp +++ b/src/core/libraries/kernel/event_queues.cpp @@ -64,13 +64,17 @@ int PS4_SYSV_ABI sceKernelWaitEqueue(SceKernelEqueue eq, SceKernelEvent* ev, int if (timo != nullptr) { // Only events that have already arrived at the time of this function call can be received if (*timo == 0) { - UNREACHABLE(); + *out = eq->getTriggeredEvents(ev, num); } else { // Wait until an event arrives with timing out - UNREACHABLE(); + *out = eq->waitForEvents(ev, num, *timo); } } + if (*out == 0) { + return ORBIS_KERNEL_ERROR_ETIMEDOUT; + } + return ORBIS_OK; }