gpt4 book ai didi

c - fcntl() 范围可见性行为?

转载 作者:太空狗 更新时间:2023-10-29 11:15:51 27 4
gpt4 key购买 nike

是否可以在 main() 以外的函数中使用 fcntl() ?调用后文件是否解锁?我这样说是因为在这种情况下 fcntl()lockfile() 中的大部分其他内容在函数 返回 时都超出范围。

int lockfile(void){
int fd;
const char *path = "path-to-lockfile";

struct flock fl;
fl.l_type = F_WRLCK;
fl.l_whence = SEEK_SET;
fl.l_start = 0;
fl.l_len = 0
fl.l_pid = getpid();

fd = open(path, O_RDWR|O_CREAT);

fcntl(fd, F_SETLKW, &fl);

return fd;
}

最佳答案

fcntl 调用在文件上加了一个锁。它一直保留到文件关闭或锁被释放。这些结构只需要告诉 fcntl 要做什么。

关于c - fcntl() 范围可见性行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9540415/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com