【发布时间】:2014-07-28 03:02:08
【问题描述】:
具体来说,如果以下事件按给定顺序发生:
- 进程 1 以附加模式打开文件。
- 进程 2 以追加模式打开同一个文件。
- 进程 2 使用文件描述符上的
flock(2)获得排他锁。 - 进程 1 尝试写入文件。
会发生什么?
写操作会立即返回一个指示失败的代码吗?会不会一直挂到释放锁,然后写入,返回成功?行为是否因内核而异?文档没有涵盖这种情况似乎很奇怪。
(我可以编写几个流程在我的系统上对其进行测试,但我不知道我的测试是否能代表一般情况,如果有人知道,我可以预料这个答案为很多其他人节省了大量时间。)
【问题讨论】:
标签: file-locking flock