我正在尝试理解fcntl系统调用,它将此结构作为第二个参数:
struct flock fl;
int fd;
fl.l_type = F_WRLCK; /* F_RDLCK, F_WRLCK, F_UNLCK */
fl.l_whence = SEEK_SET; /* SEEK_SET, SEEK_CUR, SEEK_END */
fl.l_start = 0; /* Offset from l_whence */
fl.l_len = 0; /* length, 0 = to EOF */
fl.l_pid = getpid(); /* our PID
我想知道究竟是什么fl.l_start
因此,例如,如果我将其设为fl.l_start = 5
,这是否意味着从一开始就保证保护仅超过5个字节?
(即在5个字节之前,没有锁定,因此,所有进程都可以以非合作方式访问它。)