lockf   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (3)
Updated: 26 juillet 2007
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
lockf - Poser, examiner ou supprimer un verrou POSIX sur un fichier ouvert  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <unistd.h>

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

Exigences de macros de test de fonctionalités pour la glibc (voir feature_test_macros(7)) :

lockf() : _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500  




DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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, cette fonction est juste une interface pour l'appel système fcntl(2). (En général, les relations entre lockf() et fcntl(2) sont indéterminées).

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 sue certains autres systèmes), dans errno si un autre processus possède le verrou.
 



VALEUR RENVOYÉE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Si elle réussit, cette fonction renvoie 0. En cas d'erreur, elle renvoie -1 et remplit errno en conséquence.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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é dans la mémoire d'un autre processus.
EBADF
fd n'est pas un descripteur valide.
EDEADLK
L'opération T_LOCK demandée amènerait à un cas de blocage.
EINVAL
Une opération invalide a été réclamée sur fd.
ENOLCK
La table des verrous est pleine.
 



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
SVr4, POSIX.1-2001.  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
fcntl(2), flock(2)
On peut aussi examiner locks.txt et mandatory.txt dans la documentation Linux /usr/src/linux/Documentation.  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 31 août 2000 et révisée le 19 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 lockf ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
EACCES ou EAGAINERREURS
EBADFERREURS
EDEADLKERREURS
EINVALERREURS
ENOLCKERREURS
F_LOCKDESCRIPTION
F_TESTDESCRIPTION
F_TLOCKDESCRIPTION
F_ULOCKDESCRIPTION



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:50:42, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional