Subject: | IO::Async::File - can't watch a directory on Windows |
If "filename" is passed to constructor, then using "open" (line 164) on directory name leads to dying with "Permission denied".
If "handle" is passed to constructor, then using "stat" on handle (line 137) leads to dying with "The dirfd function is unimplemented".
These are portability issues of Perl and Windows, as I understand.
The quick fix for me was to always pass a "filename" and re-write "_reopen_file" to use either "open" or "opendir", and then using "stat" on name (next line), as elsewhere in the module.
On the other hand, not sure if it's necessary to explicitly "open" a thing at all, but that's only an idea.