ziglang / zig

General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

Home Page:https://ziglang.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Runner: Implement File System Watching on Windows

andrewrk opened this issue · comments

Extracted from #20580.

Most of the file system watching mechanism is abstracted across operating systems, however, the parts that deal with receiving events from file system changes require OS-specific implementations.

else => @compileError("unimplemented"),

This issue is for the Windows implementation.

Probably the first thing to try will be using the FindFirstChangeNotificationW API. This should fit nicely into the existing abstraction because the Linux implementation is also based on processing events for directories.

WaitForMultipleObjects is famously limited to only 64 objects. I think that an initial version having this limitation would be fine, but then more advanced techniques will be needed to overcome this limitation, such as https://devblogs.microsoft.com/oldnewthing/20220406-00/?p=106434

Related: