mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-10-22 16:43:05 -05:00
libc's __std_atomic_wait_direct_32 and __std_atomic_wait_direct_64 import these functions, so a libc.prx that contains the C++20 atomic wait wrappers does not load without them. Wait32 compares a 4-byte value and Wait64 the full 8-byte value. Both share the waiter queue of sceKernelSyncOnAddressWait, so sceKernelSyncOnAddressWake releases waiters of every size on the address. A null address, or one not aligned to the value size, throws. The by-value comparand, the return values and the 8-byte alignment of Wait64 are assumed and recorded in TechnicalDebt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>