SIGN IN SIGN UP
shadps4-emu / shadPS4 UNCLAIMED

PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++

0 0 91 C++

Lib.Kernel: Various (mostly signal-related) fixes (#4463)

* sigaddset, sigdelset, sigismember

* Some define fixups

Based on decomp, PS4 sigset is defined as a u32[4]. This doesn't change any behavior, but makes my decomp-based sigaddset and sigdelset implementations function appropriately.
Additionally, define handler and sigaction functions as PS4_SYSV_ABI.

* Fix returns

* Implement signal, export _sigintr

In libkernel, signal just uses sigaction. No harm in implementing it, since we've got our own implementations for everything except sigaction (and sigaction is implemented for Unix platforms).

* Fix and cleanup posix_select defines

Swaps use of defines for just having static functions, and fixes the pd_set_posix struct to match FreeBSD/Orbis properly (sizeof(long) == 4 on Windows, which does not match Orbis).

* Fix siginfo struct

Again, sizeof(long) differs on different platforms. Need to use our proper typedef to ensure accuracy.

* Clang, the bane of my existance.

* Oops
S
Stephen Miller committed
86a64fb980df612cb91b65aec705059828c2ac12
Parent: 9dada49
Committed by GitHub <noreply@github.com> on 5/25/2026, 7:27:55 AM