作者saladim (杀拉顶)
看板LinuxDev
标题Fw: [问题] flock里open() 档案的相关问题
时间Thu May 23 03:07:26 2019
※ [本文转录自 Linux 看板 #1SvPnx1Q ]
作者: saladim (杀拉顶) 看板: Linux
标题: [问题] flock里open() 档案的相关问题
时间: Thu May 23 03:01:12 2019
大家好, 最近刚好看到linux上面有 flock这个指令, 可以作到同台机器上的
同步应用, 看起来基本原理是利用建立一个(锁定)档来达成
有点好奇实作怎麽作的 找了下面的原始码:
https://github.com/karelzak/util-linux/blob/master/sys-utils/flock.c
看不太懂 然後就有了以下的问题:
Line 90 那边是开档的function,里面给open的flag好像只有 O_RDONLY | O_CREAT
这样的flag有保证检查档案存在性跟创建新档是atomic的吗?
google一下只找到 使用 O_EXCL | O_CREAT 时, 若档案已存在则回传错误 而且保证
检查跟创建档案是atomic的, 可是这边开档的flag不一样
还是说现在linux open(...) 已经保证检查跟创建新档是atomic的了?
请问各位先进帮忙解惑 是不是有哪些概念我不知道所以没法看懂这边的码呢?
谢谢~~~
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.226.226.204
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1558551675.A.05A.html
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: saladim (36.226.226.204), 05/23/2019 03:07:26