 
			| GNU/Linux | CentOS 2.1AS(Slurm) | |
|  | lockf(3) |  | 
lockf − apply, test or remove a POSIX lock on an open file
#include <sys/file.h>
int lockf(int fd, int cmd, off_t len);
Apply, test or remove a POSIX lock on an open file. The file is specified by fd. This call is just an interface for fcntl(2). Valid operations are given below:
| F_LOCK | Set an exclusive lock to the file. Only one process may hold an exclusive lock for a given file at a given time. If the file is already locked it blocks until the previous lock is released. | ||
| F_TLOCK | Same as F_LOCK but never blocks and return error instead if the file is already locked. | ||
| F_ULOCK | Unlock the file. | ||
| F_TEST | Test the lock: return 0 if fd is unlocked or locked by this process; return −1, set errno to EACCES, if another process holds the lock. | 
On success, zero is returned. On error, −1 is returned, and errno is set appropriately.
| EAGAIN | The file is locked and the LOCK_NB flag was selected, or operation is prohibited because the file has been memory-mapped by another process. | ||
| EBADF | fd is not an open file descriptor. | 
EDEADLK
Specified lock operation would cause a deadlock.
| EINVAL | An invalid operation was specified in fd. | |||
| ENOLCK | Too many segment locks open, lock table is full. | 
SYSV
fcntl(2),
flock(2) 
There are also locks.txt and mandatory.txt in
/usr/src/linux/Documentation.
|  | lockf(3) |  |