小编Nig*_*ott的帖子

实现可移植文件锁定机制

我已经实现了一个文件锁定机制,沿着linux手册页中"open"的建议,其中指出:

想要使用lockfile执行原子文件锁定的可移植程序,并且需要避免依赖对O_EXCL的NFS支持,可以在同一文件系统上创建一个唯一的文件(例如,合并主机名和PID),并使用link(2)来建立一个锁定文件的链接.如果link(2)返回0,则锁定成功.否则,在唯一文件上使用stat(2)来检查其链接计数是否已增加到2,在这种情况下锁定也是成功的.

这似乎完美无缺,但是为了在我的测试中获得100%的代码覆盖率,我需要覆盖链接数增加到2的情况.

我已经尝试使用谷歌搜索,但我似乎能够找到的所有内容都是上面反复引用的"它完成的方式".

任何人都可以向我解释一下哪些情况会导致链接失败(返回-1),但链接数增加到2?

linux lockfile

8
推荐指数
1
解决办法
730
查看次数

标签 统计

linux ×1

lockfile ×1