Provided by: manpages-fr-dev_4.13-4_all 

NOM
lockf - Poser, examiner ou supprimer un verrou POSIX sur un fichier ouvert
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 since 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 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.
On Linux, lockf() is just an interface on top of fcntl(2) locking. Many other systems implement lockf()
in this way, but note that POSIX.1 leaves the relationship between lockf() and fcntl(2) locks
unspecified. A portable application should probably avoid mixing calls to these 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 reçoit une valeur adéquate.
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).
┌───────────┬──────────────────────┬─────────┐
│ Interface │ Attribut │ Valeur │
├───────────┼──────────────────────┼─────────┤
│ lockf() │ Sécurité des threads │ MT-Safe │
└───────────┴──────────────────────┴─────────┘
CONFORMITÉ
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.)
COLOPHON
Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à
l'adresse https://www.kernel.org/doc/man-pages/.
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 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.
GNU 6 mars 2019 LOCKF(3)