【问题标题】:When would a blocking call to flock fail?对flock 的阻塞调用何时会失败?
【发布时间】:2013-10-20 18:13:42
【问题描述】:

我正在阅读有关flock 的信息。该示例有这一行:
flock($fh, LOCK_EX) or die "Cannot lock mailbox - $!\n";
这个电话是阻塞电话吗?因此,如果锁已被占用,则调用阻塞。
我假设如果调用返回,则授予锁。那么die什么时候会出现呢?

【问题讨论】:

    标签: linux perl file locking flock


    【解决方案1】:

    flock 是同名系统调用的包装器。 $! 由系统设置。因此,请查阅系统文档以获得答案。

    在我的系统上,根据man 2 flock

    • EBADF:fd 不是打开的文件描述符。

    • EINTR:在等待获取锁时,调用被处理程序捕获的信号传递中断;见信号(7)。

    • EINVALoperation 无效。

    • ENOLCK:内核用于分配锁记录的内存不足。

    • EWOULDBLOCK:文件被锁定,LOCK_NB 标志被选中。

    【讨论】:

      猜你喜欢
      • 2015-08-06
      • 2016-12-09
      • 2013-11-16
      • 2015-09-26
      • 2020-11-17
      • 2011-10-16
      • 2013-02-24
      • 2013-12-10
      • 1970-01-01
      相关资源
      最近更新 更多