flock

Name

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

Synopsis

int flock(int fd, int operation);

Description

flock applies or removes an advisory lock on the open file fd. Valid operation types are:

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 oring) along with one of the other operations.

A single file may not simultaneously have both shared and exclusive locks.

Return Value

On success, 0 is returned. On error, -1 is returned and the global variable errno is set appropriately.

Errors

EWOULDBLOCK

The file is locked and the LOCK_NB flag was selected.