NAME

LIBRARY

SYNOPSIS

DESCRIPTION

The
Fn flopen
function opens or creates a file and acquires an exclusive lock on it.
It is essentially equivalent with calling
Fn open
with the same parameters followed by
Fn flock
with an
operation
argument of
LOCK_EX
except that
Fn flopen
will attempt to detect and handle races that may occur between opening
/ creating the file and locking it.
Thus, it is well suited for opening lock files, PID files, spool
files, mailboxes and other kinds of files which are used for
synchronization between processes.

If
flags
includes
O_NONBLOCK
and the file is already locked,
Fn flopen
will fail and set
errno
to
EWOULDBLOCK

As with
Fn open ,
the additional
mode
argument is required if
flags
includes
O_CREAT

RETURN VALUES

If successful,
Fn flopen
returns a valid file descriptor.
Otherwise, it returns -1, and sets
errno
as described in
flock(2)
and
open(2).