flock

Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services

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  an  the  LOCK_NB  flag  was
              selected.


NOTES

       Under Linux, flock is implemented  as  a  call  to  fcntl.
       Please see fcntl(2) for more details on errors.


SEE ALSO

       open(2), close(2), dup(2), execve(2), fcntl(2), fork(2),
Hurricane Electric Internet Services: Accounts starting at $9.95/month
Hurricane Electric Internet Services
Copyright (C) 1998 Hurricane Electric. All Rights Reserved.