Files
AnyPS5/core/libs/prx/libkernel/File
aarushkhaandClaude Opus 5.5 3e48fb5f5e fix(libkernel): remove equeue events before taking the position lock on close
A wait polling a regular-file event holds the equeue mutex and calls
sceKernelLseek, which takes the descriptor's position lock on Windows.
sceKernelClose and close took that lock first and then the equeue mutex
in EqueueDescriptorClosed, so a close racing such a wait deadlocked. Both
now remove the descriptor's events before taking the position lock, as
dup2 already does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 17:40:45 +05:30
..