programming/Unix
[Unix Programming] 12. Locking
by je0nsye0n
2025. 1. 16.
record locking
- locking : 특정 record에 대한 다른 프로세스의 읽기/쓰기 제한
- read lock : 읽기는 허용, 쓰기는 제한
- write lock : 읽기와 쓰기 모두 제한
- unlocking : 제한 해제
int fcntl(int fildes, int cmd, struct lock *ldata);
- fildes :
- read-lock : O_RDONLY/O_RDWR로 open된 파일에 한해서 적용 가능
- write-lock : O_WRONLY/O_RDWR로 open된 파일에 한해서 적용 가능
- cmd :
- F_GETLK : lock 정보 얻기
- F_SETLK : non-blocking locking or unlocking
- F_SETLKW : blocking locking
- struct flock *ldata
- short l_type : lock의 타입
- → F_RDLCK, F_WRLCK, F_UNLCK
- short l_whence :
- → SEEK_SET, SEEK_CUR, SEEK_END
- off_t l_start
- off_t l_len
- pid_t l_pid