fcntl() 中的第三个参数是什么

What's the third arg in fcntl()

本文关键字:三个 参数 是什么 fcntl      更新时间:2023-10-16

我不确定fcntl()中的第三个arg,我知道当第二个arg发生变化时它是不同的,当第二个arg被F_GETLK时它是一个指针,等等。但是当第二个参数是F_GETFL等时,第三个参数应该是什么?

从 APUE 来看,当第二个参数F_GETFL时为 0

无论如何谢谢:(

fcntl(( 可以采用可选的第三个参数。 无论这是否 参数是必需的由CMD确定。 必需的参数 类型在每个cmd名称后面的括号中表示(在大多数情况下, 所需的类型是 int,我们使用名称标识参数 arg(,如果不需要参数,则指定 void。

F_SETLK、F_SETLKW 和 F_GETLK用于获取、发布和测试 对于记录锁的存在(也称为字节范围,文件- 段或文件区域锁定(。 第三个参数 lock 是一个 指向至少具有以下字段(在 未指定的顺序(。

与传统的咨询锁一样,fcntl(( 的第三个参数, 锁,是指向羊群结构的指针。 相比之下 传统的记录锁,该结构的l_pid字段必须是 使用下面描述的命令时设置为零。

此链接将帮助您解决问题http://man7.org/linux/man-pages/man2/fcntl.2.html