我正在阅读flock。这个例子有这一行:
flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
这个电话是阻止通话吗?因此,如果已经锁定了呼叫块
我假设如果调用返回锁定被授予。那么die
什么时候会发生?
答案 0 :(得分:7)
flock
是同名系统调用的包装器。 $!
由系统设置。因此,请参阅系统的文档以获得答案。
在我的系统上,按照man 2 flock
,
EBADF
:fd
不是一个打开的文件描述符。
EINTR
:在等待获取锁定时,通过传递处理程序捕获的信号来中断调用;见信号(7)。
EINVAL
:operation
无效。
ENOLCK
:内核内存不足,无法分配锁记录。
EWOULDBLOCK
:文件已锁定且已选中LOCK_NB
标记。