有没有一个Haskell库函数可以在不轮询的情况下监控文件?
使用轮询,我会做这样的事情:
我想要的是类似于阻塞式的getModificationTime,它会被系统唤醒。有可用的东西吗?
如果只在POSIX系统上可用,那么我会非常满意,但越便携越好:-)
编辑:我知道 hinotify,但我使用的是Mac(这就是我提到POSIX的原因)。
使用轮询,我会做这样的事情:
monitor file mtime handler = do
threadDelay n -- sleep `n` ns
t <- getModificationTime file
if t > mtime
then handler >> monitor file t handler
else monitor file mtime handler
我想要的是类似于阻塞式的getModificationTime,它会被系统唤醒。有可用的东西吗?
如果只在POSIX系统上可用,那么我会非常满意,但越便携越好:-)
编辑:我知道 hinotify,但我使用的是Mac(这就是我提到POSIX的原因)。
hinotity
和kqueue
可能会很有意思。 - singpolyma