AnyPS5/docs/dev
Raihan Abdul Majid e768d97949 fix(kernel): keep the file offset in Windows AIO reads and writes
Each Windows AIO request is an overlapped ReadFile/WriteFile at the
request's offset, which on a synchronous handle also moves the
descriptor's file pointer; on the console AIO transfers leave it alone.
The requests now go through the positioned path sceKernelPread and
sceKernelPwrite use (NativePositioned in Stdio.cpp, exposed as
NativePositioned_nid_no_patch), which restores the pointer afterwards.
Negative offsets still fail with EINVAL before the transfer.

GuestAio sets the offset to 2 before a write batch and checks it is
still 2 after. TechnicalDebt records that a concurrent read or write on
the same descriptor can see the moved pointer in between, as for the
pread family.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UTjpbMX7BUFMZZaxJE98zV
2026-10-10 00:22:22 +02:00
..
ARCHITECTURE.md feat(shader): implement s_swappc_b64 fetch-shader call 2026-10-08 20:05:24 +02:00
BUILD.md docs(build): note antivirus quarantine of relinker test executables on Windows 2026-10-09 15:56:29 +02:00
CONVENTIONS.md refactor(docs): separated user and dev in docs + compatibility file 2026-09-28 22:58:17 +03:00
HW_ORACLE.md feat(hw-oracle): make the group segment size an option 2026-10-09 12:47:59 -03:00
PROGRESS.md fix(progress): exclude library test fixtures from function counts 2026-10-08 17:30:43 +05:30
TechnicalDebt.md fix(kernel): keep the file offset in Windows AIO reads and writes 2026-10-10 00:22:22 +02:00