在没有轮询的情况下收到关于flock / lockf / fcntl的通知更改

时间:2013-09-11 15:38:43

标签: linux notifications inotify flock fcntl

是否有办法(在Linux中)获取文件锁定状态的更新而不进行轮询?

我知道状态可以通过lockf(fd,F_TEST)或推测LOCK_NB | LOCK_SH进行轮询,但轮询不好(tm)。

当然,找出文件未锁定的时间可以通过简单的锁定尝试来完成,但我也想对另一个边缘进行采样(用例:一个(大)程序使用lockf在实例之间进行同步 - 我可能会把它改成flock,我想添加一个GUI,当锁可以获取时显示,当然不会占用锁定。)

请注意,inotify在这种情况下不起作用,至少在linux 3.9.1上。

0 个答案:

没有答案