AnyPS5/core/libs/prx/libkernel
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
..
Aio/src fix(kernel): keep the file offset in Windows AIO reads and writes 2026-10-10 00:22:22 +02:00
AppMetadata fix(libSceAppContent): read user defined app params from param.json 2026-10-08 07:49:16 +02:00
Apr fix(libkernel): report AMPR completion events with the AMPR filter 2026-10-07 19:37:40 -04:00
DirectMemory feat(libkernel): implement msync 2026-10-09 23:38:58 +02:00
Equeue fix(libkernel): report AMPR completion events with the AMPR filter 2026-10-07 19:37:40 -04:00
EventFlag/src feat(runtime): timed waits, sync primitive fixes, heap and RTC fixes, unattended-run switches 2026-09-26 19:00:39 -07:00
File fix(kernel): keep the file offset in Windows AIO reads and writes 2026-10-10 00:22:22 +02:00
Module Merge pull request #1188 from MathiasDevelopes/feat/kernel-module-info-windows 2026-10-09 23:22:46 +02:00
Pthread Merge pull request #1676 from Recapi/feat/libkernel-thread-cpu-clock 2026-10-10 00:01:18 +02:00
Semaphore Merge pull request #315 from RomainROCH/codex/fix-semaphore-overflow 2026-10-04 14:01:19 +13:00
Socket Merge pull request #1738 from SleglJan/feat/libkernel-termios 2026-10-09 23:48:53 +02:00
SyncOnAddress/src feat(libkernel): implement sceKernelSyncOnAddressWait8 and sceKernelSyncOnAddressWait16 2026-10-06 04:30:12 +05:30
System/src Merge pull request #1675 from Recapi/feat/libkernel-getrlimit 2026-10-10 00:00:57 +02:00
Time feat(libkernel): implement pthread_getcpuclockid and per-thread CPU clocks 2026-10-08 23:50:03 -03:00
CMakeLists.txt Merge pull request #1857 from hikazey/feat/msync 2026-10-10 00:12:20 +02:00
KernelErrors.hpp refactor(kernel): share SCE kernel error codes through KernelErrors.hpp 2026-09-27 13:32:28 +07:00
Unimplemented.cpp feat(libkernel): implement sceKernelReleaseFlexibleMemory (#952) 2026-10-07 10:20:07 +13:00