Files
AnyPS5/core/libs/prx/libkernel/Equeue
MaxandClaude Opus 5.5 e5569a8e35 fix(libkernel): read a watched file's path before its state on Windows
TakeSnapshot read the file information and then the path. A delete
between the two left a snapshot whose path was already under
\$Extend\$Deleted\ but whose link count and delete flag were not, so
IsDeleted was false and the watch thread asked for a parent watch of
\$Extend\$Deleted\. FindFirstChangeNotification refuses it with
ERROR_ACCESS_DENIED, and the exception on the detached watch thread
ended the process. guest_kqueue hit this when FileWatch removed its
file while a watch thread was still polling.

The path is now read first. A path under \$Extend\$Deleted\ is only
returned after the delete, so the information read after it reports
the delete and the parent watch is skipped.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 17:24:48 +02:00
..