Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       lockf - Poser, examiner ou supprimer un verrou POSIX sur un fichier ouvert

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <unistd.h>

       int lockf(int fd, int cmd, off_t len);

   Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

       lockf() :
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.19 : */ _DEFAULT_SOURCE
               || /* glibc <= 2.19 : */ _BSD_SOURCE || _SVID_SOURCE

DESCRIPTION

       Cette  fonction  pose,  examine ou supprime un verrou POSIX sur un fichier ouvert. Le fichier est indiqué
       par fd, un descripteur ouvert en écriture, l'action par cmd, et la section par les octets  aux  positions
       pos..pos+len-1 si len est positive et pos-len..pos-1 si len est négative, où pos est la position actuelle
       dans le fichier. Si len vaut zéro, la section s'étend de la position courant à l'infini, englobant la fin
       de  fichier et les extensions ultérieures. Dans tous les cas, la section peut s'étendre au delà de la fin
       du fichier.

       Sous Linux, lockf() est une interface de  vérrou  au  dessus  de  fcntl(2).  Beaucoup  d'autres  systèmes
       implémentent  lockf()  de  cette  façon,  cependant  POSIX.1  ne spécifie pas la relation de vérrou entre
       lockf() et fcntl(2). Une application portable ne devrait pas mixer des appels à ces deux interfaces.

       Les opérations valides sont les suivantes :

       F_LOCK Poser un verrou exclusif sur la section indiquée du fichier. Si (une partie  de)  la  section  est
              déjà  verrouillée,  l'appel  bloque  jusqu'à  la  suppression  du  verrou précédent. Si la section
              recouvre un verrou existant (du même processus), les deux sont regroupés. Les  verrouillages  sont
              libérés  lorsque  le  processus ferme un descripteur du fichier. Un processus fils n'hérite pas du
              verrou.

       F_TLOCK
              Comme F_LOCK mais l'appel n'est pas bloquant, il  renvoie  une  erreur  si  le  fichier  est  déjà
              verrouillé.

       F_ULOCK
              Déverrouiller  la  section  indiquée du fichier. Ceci peut conduire une section verrouillée à être
              découpée en deux sections.

       F_TEST Vérifier s'il y a un verrou : l'appel renvoie 0 si la section indiquée est  libre  ou  verrouillée
              par le processus appelant, et -1 avec EAGAIN (EACCES sur d'autres systèmes) dans errno si un autre
              processus possède le verrou.

VALEUR RENVOYÉE

       En cas de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno est  définie  pour  préciser
       l'erreur.

ERREURS

       EACCES ou EAGAIN
              Le  fichier  est  verrouillé  et  F_TLOCK  ou  F_TEST  étaient indiqués, ou encore l'opération est
              impossible car le fichier est projetée dans la mémoire d'un autre processus.

       EBADF  fd n'est pas un descripteur de fichier ouvert, ou cmd vaut F_LOCK ou F_TLOCK et fd  n'est  pas  un
              descripteur de fichier en écriture.

       EDEADLK
              L'opération F_LOCK demandée amènerait à un cas d’interblocage.

       EINTR  Durant  l'attente  pour  acquérir le verrou, l'appel a été interrompu par un signal capturé par un
              gestionnaire ; consultez signal(7).

       EINVAL Une opération invalide a été réclamée sur cmd.

       ENOLCK La table des verrous est pleine.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌───────────────────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├───────────────────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │lockf()                                                                │ Sécurité des threads │ MT-Safe │
       └───────────────────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       POSIX.1-2001, POSIX.1-2008, SVr4.

VOIR AUSSI

       fcntl(2), flock(2)

       locks.txt et mandatory-locking.txt dans le répertoire  Documentation/filesystems  des  sources  du  noyau
       Linux.   (Sur   d'anciens   noyaux,  ces  fichiers  se  trouvent  dans  le  répertoire  Documentation  et
       mandatory-locking.txt est appelé mandatory.txt.)

TRADUCTION

       La  traduction  française   de   cette   page   de   manuel   a   été   créée   par   Christophe   Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>, François Micaux, Alain Portal  <aportal@univ-montp2.fr>,  Jean-Philippe  Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,     Thomas     Huriaux      <thomas.huriaux@gmail.com>,      Nicolas      François
       <nicolas.francois@centraliens.net>,     Florentin     Duneau    <fduneau@gmail.com>,    Simon    Paillard
       <simon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier   <barbier@debian.org>   et    David    Prévot
       <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les  conditions  de   copie   et   de
       distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous  découvrez  un  bogue  dans la traduction de cette page de manuel, veuillez envoyer un message à
       ⟨debian-l10n-french@lists.debian.org⟩.