Linux |
CentOS 4.8 |
|
lockf(3) |
lockf − Poser, examiner ou supprimer un verrou Posix sur un fichier ouvert. |
#include <sys/file.h> int lockf(int fd, int cmd, off_t len); |
Cette fonction pose, examine, ou supprime un verrou Posix sur un fichier ouvert. Le fichier est indiqué par fd. Cette fonction est juste une interface pour l’appel-système fcntl(2). Les opérations valides sont les suivantes : |
F_LOCK |
Poser un verrou exclusif sur le fichier. Un seul processus peut posséder un verrou exclusif sur un fichier donné à un moment donné. Si le fichier est déjà verrouillé, l’appel bloque jusqu’à la suppression du verrou précédent. |
||
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 un fichier. |
||
F_TEST |
Verifier s’il y a un verrou : l’appel renvoie 0 fd est libre, ou s’il est verrouillé par le processus appelant. Il renvoie -1 avec EACCES dans errno si un autre processus possède le verrou. |
Si elle réussit, cette fonction renvoie 0. En cas d’erreur, elle renvoie -1 et remplit errno en conséquence. |
EAGAIN |
Le fichier est verrouillé ou a été projeté en mémoire par un autre processus, et l’appel était non bloquant. |
|
EBADF |
fd n’est pas un descripteur valide. |
EDEADLK |
L’opération 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. |
SYSV |
fcntl(2), flock(2) On peut aussi examiner locks.txt et mandatory.txt dans la documentation Linux /usr/src/linux/Documentation. |
Christophe Blaess, 2000. |
lockf(3) |