Skip to content

feat(libkernel): implement sigpending and sigsuspend - #4594

Closed
kallmek3nny wants to merge 1 commit into
boykopovar:mainfrom
kallmek3nny:carry/sigpending-sigsuspend-current
Closed

kallmek3nny wants to merge 1 commit into
boykopovar:mainfrom
kallmek3nny:carry/sigpending-sigsuspend-current

Conversation

@kallmek3nny

Copy link
Copy Markdown
Contributor

What

Carry pushkarreddyy's original #3252 work onto current main, preserving the original author and behavior:

  • add sigpending_nid_postfix, returning an empty pending set while AnyPS5 has no pending-signal queue
  • add sigsuspend_nid_postfix, validating the mask pointer and returning EINTR without suspending yet
  • add focused GuestSignals coverage for null pointers, the empty pending set, and EINTR
  • record the remaining signal-semantics limitation in TechnicalDebt

This carries the implementation offered in #3253 / commit 0b35d74274feee860593a720ac6fd5a4d2b7c607. The source changes are kept semantically the same; the test declaration was forward-declared so the old patch builds against current main.

Tested

  • Linux Release: guest_signal_tests builds successfully
  • guest_signals passes with --repeat until-fail:3

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • AI-assisted: yes

@github-actions

Copy link
Copy Markdown

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.

Pull request Conflicting files (lines on main) Same exports Same new files
#4138 core/libs/prx/libkernel/System/src/Signals.cpp L283-289
#4383 core/libs/tests/GuestSignals.cpp L9, L20
docs/dev/TechnicalDebt.md L490
sigpending_nid_postfix
sigsuspend_nid_postfix
#4541 core/libs/tests/GuestSignals.cpp L9, L20
docs/dev/TechnicalDebt.md L490
sigpending_nid_postfix
sigsuspend_nid_postfix

@github-actions

Copy link
Copy Markdown

Progress report (2a5eca1 → d03568f)

➖ System libraries: 86.34% (+0.0%, +2 implemented functions)

✅ 2 implemented
Library Name
libkernel sigpending_nid_postfix
libkernel sigsuspend_nid_postfix

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants