OpenSuSE Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
x SuSE Linux 13.1-RELEASE x
x SuSE Linux 13.1-RELEASEx
FLOPEN(3bsd)                         LOCAL                        FLOPEN(3bsd)

NAME
     flopen -- reliably open and lock a file

LIBRARY
     library "libbsd"

SYNOPSIS
     #include <sys/fcntl.h>
     #include <libutil.h>
     (See libbsd(7) for include usage.)

     int
     flopen(const char *path, int flags);

     int
     flopen(const char *path, int flags, mode_t mode);

DESCRIPTION
     The flopen() function opens or creates a file and acquires an exclusive
     lock on it.  It is essentially equivalent with calling open() with the
     same parameters followed by flock() with an operation argument of
     LOCK_EX, except that 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, mail-
     boxes and other kinds of files which are used for synchronization between
     processes.

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

     As with open(), the additional mode argument is required if flags in-
     cludes O_CREAT.

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

SEE ALSO
     errno(2), flock(2), open(2)

AUTHORS
     The flopen function and this manual page were written by Dag-Erling
     Smorgrav <des@FreeBSD.org>.

BSD                              June 6, 2009                              BSD

Want to link to this manual page? Use this URL:
<
http://star2.abcm.com/cgi-bin/bsdi-man?query=flopen&sektion=3bsd&manpath=>

home | help