LOCKF (3)
apply, test or remove a POSIX lock on an open file
SYNOPSIS
#include <sys/file.h>
int lockf(int fd , int cmd , off_t len );
DESCRIPTION
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
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.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and
errno
is set appropriately.
ERRORS
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.
CONFORMING TO
SEE ALSO
|
|