FLOCK(2)           Manuel du programmeur Linux           FLOCK(2)


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 possi­
       bles 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 ver­
       rou.

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).





Linux                      18 Mai 1999                          1





FLOCK(2)           Manuel du programmeur Linux           FLOCK(2)


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  suffisament  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),
       On  peut  également  se reporter aux fichiers locks.txt et
       mandatory.txt dans le répertoire /usr/src/linux/Documenta­
       tion.


TRADUCTION
       Christophe Blaess, 1997.






































Linux                      18 Mai 1999                          2