FLOCK

Section: Linux Programmer's Manual (2)
Updated: 22 July 1993
Index Return to Main Contents
 

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 specified (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 descriptor. 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),


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
NOTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 12:25:11 GMT, March 22, 2025