AnyPS5/core/libs/prx/libkernel
Lexroid 45a561aea5 fix(libkernel): accept a zero count in sceKernelSignalSema
sceKernelSignalSema threw invalid_argument for a count of 0. Marvel's
Wolverine (PPSA03671) signals with a count computed as min(a, b) - c,
which can be 0, and ignores the result, so the throw ended the title a
few minutes in. A zero count now adds no tokens and returns SCE_OK, as
in shadPS4 and Kyty. A null semaphore and a negative count still throw.

guest_kernel_errors signals 0 on a full and on an empty semaphore and
checks that the count is unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
(cherry picked from commit 7191d34c4d79622ba71087f0da2b75eb81ad2c23)
2026-10-10 16:12:43 +00:00
..
Aio/src fix(libkernel): preserve EINVAL in AIO completions 2026-10-10 08:42:19 +02:00
AppMetadata fix(kernel): skip the download0 mount when param.json cannot be read 2026-10-08 16:07:18 +02:00
Apr fix(windows): use precise sleeps for sub-millisecond polling 2026-10-10 08:30:28 +00:00
DirectMemory fix(libkernel): answer munlock from the guest mapping state on Linux 2026-10-10 22:56:07 +13:00
Equeue fix(libkernel): report AMPR completion events with the AMPR filter 2026-10-07 19:37:40 -04:00
EventFlag/src feat(runtime): timed waits, sync primitive fixes, heap and RTC fixes, unattended-run switches 2026-09-26 19:00:39 -07:00
File fix(libkernel): read random devices in the Windows sceKernelPread 2026-10-10 23:26:37 +13:00
Module fix(libkernel): unregister guest module images in dlclose and propagate failures 2026-10-10 10:23:50 +02:00
Pthread fix(libkernel): keep host stack room below guest thread stacks 2026-10-10 22:41:03 +13:00
Semaphore fix(libkernel): accept a zero count in sceKernelSignalSema 2026-10-10 16:12:43 +00:00
Socket Merge pull request #1786 from Zurisen/fix/windows-socket-shutdown-epipe 2026-10-10 17:41:18 +13:00
SyncOnAddress/src feat(libkernel): implement sceKernelSyncOnAddressWait8 and sceKernelSyncOnAddressWait16 2026-10-06 04:30:12 +05:30
System/src feat(libkernel): implement kill 2026-10-10 11:06:12 +02:00
Time feat(libkernel): implement thread cancellation 2026-10-10 11:32:09 +02:00
CMakeLists.txt feat(libkernel): implement thread cancellation 2026-10-10 11:32:09 +02:00
KernelErrors.hpp refactor(kernel): share SCE kernel error codes through KernelErrors.hpp 2026-09-27 13:32:28 +07:00
Unimplemented.cpp feat(libkernel): implement thread cancellation 2026-10-10 11:32:09 +02:00