Les MANs Linux en français...
FLOCK
Section: Manuel du programmeur Linux (2)Updated: 15 janvier 2002
Index Retour au Menu Principal
NOM
flock - Placer ou enlever un verrou consultatif (advisory lock) sur un fichier ouvert.SYNOPSIS
#include <sys/file.h>int flock(int fd, int operation);
DESCRIPTION
Place ou enlève un verrou consultatif sur un fichier ouvert dont le descripteur est fd. Les opérations possibles sont :-
- LOCK_SH
- Verrouillage partagé. Plusieurs processus peuvent disposer d'un verrouillage partagé simultanément sur un même fichier.
- LOCK_EX
- Verrouillage exclusif. Un seul processus dispose d'un verrouillage exclusif sur un fichier, à un moment donné.
- LOCK_UN
- Déverrouillage.
- LOCK_NB
-
Ne pas bloquer lors d'un verrouillage. Cette option est utilisée
conjointement (
OU
binaire | ) avec les autres opérations.
Un fichier donné ne peut pas posséder simultanément des verrous partagés et des verrous exclusifs.
C'est un fichier que l'on verrouille (c'est à dire un i-noeud) et non pas un descripteur de fichier. Ainsi, dup(2) et fork(2) ne créent pas d'instances multiples d'un verrou.
VALEUR RENVOYÉE
flock renvoie 0 s'il réussit, ou -1 en cas d'échec, auquel cas errno contient le code d'erreur.ERREURS
- EWOULDBLOCK
- Le fichier est verrouillé et l'attribut LOCK_NB a été précisé.
CONFORMITÉ
4.4BSD (l'appel système flock(2) est apparu pour la première fois dans 4.2BSD).NOTES
flock(2) ne verrouille par les fichiers à travers NFS. Utilisez fcntl(2) à la place : il fonctionne avec NFS si la version de Linux est suffisamment récente et si le serveur accepte les verrouillages.Les verrous flock(2) et fcntl(2) ont une sémantique différente vis à vis des processus dupliqués par fork(2), et dup(2).
VOIR AUSSI
open(2), close(2), dup(2), execve(2), fcntl(2), fork(2), lockf(3) On peut également se reporter aux fichiers locks.txt et mandatory.txt dans le répertoire /usr/src/linux/Documentation.TRADUCTION
Christophe Blaess, 1997.
Index
Time: 21:38:41 GMT, December 19, 2004