lockf(3) Library Functions Manual lockf(3) NOM lockf - Poser, examiner ou supprimer un verrou POSIX sur un fichier ouvert BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int lockf(int fd, int cmd, off_t len); Exigences de macros de test de fonctionnalites 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 indique par fd, un descripteur ouvert en ecriture, 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 negative, ou pos est la position actuelle dans le fichier. Si len vaut zero, la section s'etend de la position courant a l'infini, englobant la fin de fichier et les extensions ulterieures. Dans tous les cas, la section peut s'etendre au dela de la fin du fichier. Sous Linux, lockf() est une interface de verrou au dessus de fcntl(2). Beaucoup d'autres systemes implementent lockf() de cette facon, cependant POSIX.1 ne specifie pas la relation de verrou entre lockf() et fcntl(2). Une application portable ne devrait pas mixer des appels a ces deux interfaces. Les operations valides sont les suivantes : F_LOCK Poser un verrou exclusif sur la section indiquee du fichier. Si (une partie de) la section est deja verrouillee, l'appel bloque jusqu'a la suppression du verrou precedent. Si la section recouvre un verrou existant (du meme processus), les deux sont regroupes. Les verrouillages sont liberes lorsque le processus ferme un descripteur du fichier. Un processus fils n'herite pas du verrou. F_TLOCK Comme F_LOCK mais l'appel n'est pas bloquant, il renvoie une erreur si le fichier est deja verrouille. F_ULOCK Deverrouiller la section indiquee du fichier. Ceci peut conduire une section verrouillee a etre decoupee en deux sections. F_TEST Verifier s'il y a un verrou : l'appel renvoie 0 si la section indiquee est libre ou verrouillee par le processus appelant, et -1 avec EAGAIN (EACCES sur d'autres systemes) dans errno si un autre processus possede le verrou. VALEUR RENVOYEE En cas de succes, zero est renvoye. En cas d'erreur, -1 est renvoye et errno est definie pour preciser l'erreur. ERREURS EACCES ou EAGAIN Le fichier est verrouille et F_TLOCK ou F_TEST etaient indiques, ou encore l'operation est impossible car le fichier est projetee dans la memoire 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 ecriture. EDEADLK L'operation F_LOCK demandee amenerait a un cas d'interblocage. EINTR Durant l'attente pour acquerir le verrou, l'appel a ete interrompu par un signal capture par un gestionnaire ; consultez signal(7). EINVAL Une operation invalide a ete reclamee sur cmd. ENOLCK La table des verrous est pleine. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |lockf() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr4. VOIR AUSSI fcntl(2), flock(2) locks.txt et mandatory-locking.txt dans le repertoire Documentation/filesystems des sources du noyau Linux. (Sur d'anciens noyaux, ces fichiers se trouvent dans le repertoire Documentation et mandatory-locking.txt est appele mandatory.txt.) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier et David Prevot Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 lockf(3)