flock

Name

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

Synopsis

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.

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.