AnyPS5/core/libs/prx/libkernel
Yunus Shaikh 0245ba7d88 fix(libc): open fopen streams with delete sharing on Windows
fopen opened its stream with _wfopen, which shares read and write
access but not delete access. While the guest held a stream open,
rename of its file failed with EIO and remove with EBUSY. POSIX rename
and remove work on open files, as on Linux and FreeBSD, and since
#3677 the descriptors sceKernelOpen returns share delete access.

fopen now creates the handle with CreateFileW sharing read, write and
delete, with the access and creation disposition of the mode, and
wraps it with _open_osfhandle and _wfdopen, keeping append mode. A
failed CreateFileW sets errno through the error mapping #3677 added to
libkernel's NativeOpen, which moves to libc as
WindowsOpenError_nid_no_patch so that both use it. freopen still
reopens through _wfreopen; TechnicalDebt records it.
2026-10-11 15:56:20 -07:00
..
Aio/src Merge pull request #3555 from lisn0/feat/linux-named-shared-memory 2026-10-11 23:55:30 +02:00
AppMetadata fix(libkernel): reject malformed UTF-8 in param JSON 2026-10-11 19:56:55 +04:00
Apr Merge pull request #3808 from MarcZX100/codex/apr-command-size-validation-1930 2026-10-12 00:05:34 +02:00
DirectMemory Merge pull request #3788 from xXPBSXx/fix/libkernel-mprotect-host-memory-v3 2026-10-12 00:01:51 +02:00
Equeue fix(libkernel): report a level-triggered equeue event once per wait 2026-10-11 11:28:34 +00: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(libc): open fopen streams with delete sharing on Windows 2026-10-11 15:56:20 -07:00
Module Merge pull request #3713 from SleglJan/fix/libkernel-flexible-module-charge 2026-10-11 23:54:59 +02:00
Pthread Merge pull request #3691 from MarcZX100/fix/sem-timedwait-available-first 2026-10-12 00:35:17 +02:00
Semaphore fix(libkernel): accept a zero count in sceKernelSignalSema 2026-10-10 16:12:43 +00:00
Socket fix(libkernel): translate every host socket error to the guest errno of its name 2026-10-11 23:43:47 +02:00
SyncOnAddress/src feat(libkernel): wake each listed address in _umtx_op UMTX_OP_NWAKE_PRIVATE 2026-10-11 17:48:06 +00:00
System feat(libkernel): handle sysctl queries for pathname, physmem and cacheline size 2026-10-12 00:17:14 +02:00
Time fix(libkernel): honor null clock_getres output 2026-10-11 15:51:43 +02:00
CMakeLists.txt Merge pull request #3689 from MarcZX100/codex/libkernel-spin-reltimedwait-3554 2026-10-12 00:23:53 +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 thread cancellation 2026-10-10 11:32:09 +02:00