FLOCK(2)

FLOCK(2)

fdatasync Home Page System Calls Index fork


NAME
       flock - apply or remove an advisory lock on an open file

SYNOPSIS
       #include <<sys/file.h>>

       int flock(int fd, int operation)

DESCRIPTION
       Apply  or  remove  an  advisory lock on an open file.  The
       file is specified  by  fd.   Valid  operations  are  given
       below:
              LOCK_SH   Shared  lock.   More than one process may
                        hold a shared lock for a given file at  a
                        given time.
              LOCK_EX   Exclusive  lock.   Only  one  process may
                        hold an exclusive lock for a  given  file
                        at a given time.
              LOCK_UN   Unlock.
              LOCK_NB   Don't  block when locking.  May be speci-
                        fied (by or'ing) along with  one  of  the
                        other operations.

       A  single file may not simultaneously have both shared and
       exclusive locks.

       A file is locked (i.e., the inode), not the file  descrip-
       tor.   So,  dup(2)  and  fork(2)  do  not  create multiple
       instances of a lock.

RETURN VALUE
       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.

ERRORS
       EWOULDBLOCK
              The  file  is  locked  and  the  LOCK_NB  flag  was
              selected.

CONFORMING TO
       4.4BSD (the flock(2) call first appeared in 4.2BSD).

SEE ALSO
       open(2) close(2) dup(2) execve(2) fcntl(2) fork(2). 
       There    are   also   locks.txt   and   mandatory.txt   in
       /usr/src/linux/Documentation.

fdatasync Home Page System Calls Index fork