- 论坛徽章:
- 0
|
嵌入式开发板,mips CPU,linux 2.6.31内核
以root用户登录,执行下面的程序:
-rwxrwxrwx 1 root root 5445184 Jan 1 22:59 main-bin
main-bin执行时新建了一个文件:
-rw-rw-rw- 1 root root 0 Jan 1 22:59 pidfile
main-bin在试图对该文件使用fcntl时,系统提示: Permission denied
关键函数是:
static int lock_file(int fd)
{
int ret = 0;
struct flock fl;
memset(&fl, 0, sizeof(fl));
fl.l_type = F_WRLCK;
fl.l_start = 0;
fl.l_whence = SEEK_SET;
fl.l_len = 0;
ret = fcntl(fd, F_SETLK, &fl);
if (ret) {
printf("fcntl F_SETLK failed, error is: %s.\r\n", strerror(errno));
return -1;
}
return 0;
} |
|