Skip to content

Fix Windows watcher sync handling#14678

Open
rgrinberg wants to merge 1 commit into
ocaml:mainfrom
rgrinberg:push-pzpxtwwtutvy
Open

Fix Windows watcher sync handling#14678
rgrinberg wants to merge 1 commit into
ocaml:mainfrom
rgrinberg:push-pzpxtwwtutvy

Conversation

@rgrinberg
Copy link
Copy Markdown
Member

The Windows watcher was the only backend that did not create the sync directory during setup, so emit_sync could fail when the directory was missing.

It also consumed sync events directly from the watcher thread. Other backends defer that work to the scheduler thread because the sync table is maintained there; doing the same on Windows avoids racing with emit_sync and keeps the table single-threaded.

The Windows watcher was the only backend that did not create the sync directory during setup, so emit_sync could fail when the directory was missing.

It also consumed sync events directly from the watcher thread. Other backends defer that work to the scheduler thread because the sync table is maintained there; doing the same on Windows avoids racing with emit_sync and keeps the table single-threaded.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant