Man page - lockf(3)

Packages contains this manual

Available languages:

en fr es ja ru ro

Manual

lockf

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
ATTRIBUTS
STANDARDS
HISTORIQUE
VOIR AUSSI
TRADUCTION

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 op , 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 op , 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 op 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 op .

ENOLCK

La table des verrous est pleine.

ATTRIBUTS

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

Image grohtml-3868077-1.png

STANDARDS

POSIX.1-2008.

HISTORIQUE

POSIX.1-2001, 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>, David Prévot <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

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 .