Skip to content

feat(libkernel): implement sceKernelAioPollRequests - #1205

Closed
CnRJay wants to merge 1 commit into
boykopovar:mainfrom
CnRJay:feat/kernel-aio-poll-requests
Closed

CnRJay wants to merge 1 commit into
boykopovar:mainfrom
CnRJay:feat/kernel-aio-poll-requests

Conversation

@CnRJay

@CnRJay CnRJay commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

What

sceKernelAioPollRequests(id, num, state) copies the current state of each listed AIO request into state without waiting. Argument checks reuse the other batch calls' validation: a null id or state returns EFAULT; a negative count or an invalid id returns EINVAL, and this check runs before any state is written. More than 128 ids throws, as in the other batch calls. Added it to the existing AIO entry in TechnicalDebt.

Tested

Ubuntu 24.04, GCC 13.3, Release build. guest_aio passes with new checks: poll after a completed batch, poll after delete, zero count, null pointers, negative count, invalid id leaves state untouched, and a 129-id batch throws. The full ctest run also passes, except agc_driver_flip, which failed only under -j8 and passes when run alone.
Also checked on Windows 11 (MinGW GCC Release build): guest_aio passes.

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

🤖 Generated with Claude Code

Copy the state of each listed request without waiting. Null pointers,
a negative count and an invalid id return the codes the other batch
calls use, checked before any state is written; more than 128 ids
throw like the other batch calls.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

Progress report (cea1ef1 → c5c74be)

📈 System libraries: 86.05% (+0.03%, +1 implemented functions)

✅ 1 implemented
Library Name
libkernel sceKernelAioPollRequests

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Does PPSA14632 call sceKernelAioPollRequests on main? If it does, please add the log line where it stops and this can go in; otherwise it waits until a title does.

@github-actions

github-actions Bot commented Oct 8, 2026 •

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
#1480 docs/dev/TechnicalDebt.md L118-119
#1498 core/libs/prx/libkernel/Aio/src/Aio.cpp L309-310 sceKernelAioPollRequests

@CnRJay

CnRJay commented Oct 8, 2026

Copy link
Copy Markdown
Contributor Author

Closing for now: no title log on main shows a stop at these exports yet. The branch stays on the fork; I'll reopen with the title ID and log line if one turns up.

🤖 Closed by Claude Code

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants