Repository navigation
feat(libkernel): implement sigpending - #4383
oneandonlydean merged 1 commit into
Conversation
|
Thanks for picking this up. One point on |
b532293 to
66accc4
Compare
|
Hi @screamm, Thank you for the review feedback! The update is now pushed on commit \66accc415\ (rebased cleanly onto latest \origin/main\ \2979ae37a):
Ready for your Windows validation run on PS5MC (PPSA99420)! Thank you! |
66accc4 to
4be071b
Compare
|
Windows test: head Cause (from the PR head, not from the merge): the AI-assisted (Claude Code). |
4be071b to
3b8dcfe
Compare
|
Hi @xXPBSXx, Thank you very much for catching this and for running the MinGW GCC build validation on Windows! The fix is now pushed on commit 3b8dcfe (rebased cleanly onto latest main 3d8ffeb):
Ready for your Windows rerun and ctest! Thank you! |
3b8dcfe to
8b0c847
Compare
|
Windows check of PS5MC (PPSA99420) relinked against this build: the import audit shows |
8b0c847 to
e4584d9
Compare
|
Hi @screamm, Thank you very much for the thorough Windows 11 validation run, for testing PS5MC (PPSA99420) import audit, and for verifying the scratch test! Everything is addressed and updated on commit
|
e4584d9 to
a892f42
Compare
|
Calling on @adriadam10, @oneandonlydean, and @MarcZX100 for review clearance / merge: All review feedback and platform verifications are complete:
Ready for merge, or please let me know if any further changes are requested! Thank you! |
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
a892f42 to
9021f10
Compare
|
Rebased cleanly on latest
Ready for review clearance and merge! |
9021f10 to
6a04eae
Compare
6a04eae to
0ad53e7
Compare
0ad53e7 to
5eded2c
Compare
|
@oneandonlydean Updated and rebased onto
|
|
Thanks for the review ping. I checked the current PR and its dependency state. I can't clear it for merge yet: #4379 and #4374 are both still open, and the earlier title trace says PPSA99420 first reaches those imports before |
|
Linux test (Arch, GCC 16.2.1, Release), this PR's head With Require(signal_nid_postfix(15, Callback) == nullptr);Earlier in the test, Resetting first should fix it, for example |
|
Checked the suggestion: with |
|
@pushkarreddyy, the report isolates this to test setup: an earlier |
5eded2c to
837c862
Compare
|
Thanks @nicolasfalesy and @MarcZX100 for catching and verifying the test-state leakage! Updated in commit
Ready for merge clearance once the prerequisites land! |
|
Windows validation with title evidence (Windows 11 Pro 26220, WinLibs MinGW-w64 GCC 15.2.0 r7, Ninja, Release, PS5MC (PPSA99420): alone it still stops at |
Debt line reworded: FreeBSD 11 sys_sigpending copies out unmasked queues (the blocked intersection follows POSIX), and the default-ignore and cross-thread pthread_kill cases that differ from FreeBSD are listed.
|
Title run with this PR: Windows 11, MinGW GCC 15.2.0 (WinLibs), Release. Built on
AI-assisted (Claude Code). |
|
@p3n1cillin Thanks a lot for testing and providing the runtime verification on Windows 11 with MinGW GCC 15.2.0! Really glad to see PS5MC ( |
What
This pull request implements
sigpending(hpoDTzy9Yy0) inlibkernel(core/libs/prx/libkernel/System/src/Signals.cpp), imported by PS5MC (PPSA99420, Issue #1578).sigsuspendhas been dropped per maintainer review.sigpendingchecks for a null pointer withEFAULT(14), and reports the intersection of the process-wide pending signal set (Pending().words[0]) and the blocked mask of_sigprocmask(blockedMask), following FreeBSD'ssys_sigpending, while preserving guesterrnoon success.core/libs/tests/GuestSignals.cppverify null pointer rejection (EFAULT), empty pending set reporting, reporting of a blocked pending signal raised viaraise, clearing after_sigprocmaskunblocks and delivers the signal, and guesterrnopreservation.docs/dev/debt/libkernel.md.Tested
python tools/check_conventions.py --base origin/mainpassed with zero errors.git diff --check origin/main..HEADpassed with zero whitespace issues.guest_signals_testscover null rejection, empty set, blocked pending signal reporting, and clearing upon unblock.Checklist
main; no other open PR implements the same functionNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)