Provided by:
manpages-fr-dev_3.32d0.2p4-1_all 
NOM
flockfile, ftrylockfile, funlockfile - Verrouiller un flux FILE pour
stdio
SYNOPSIS
#include <stdio.h>
void flockfile(FILE *filehandle);
int ftrylockfile(FILE *filehandle);
void funlockfile(FILE *filehandle);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
Pour toutes les fonctions ci-dessus :
_POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _BSD_SOURCE ||
_SVID_SOURCE || _POSIX_SOURCE
DESCRIPTION
Les fonctions stdio peuvent etre utilisees dans un contexte
multithread. Ceci est realise en affectant a chaque objet de type FILE
un << compteur de verrouillage >> et (si le << compteur de
verrouillage >> est non nul) un thread proprietaire. Lors de chaque
appel a la bibliotheque, ces fonctions attendent jusqu'a ce que l'objet
FILE ne soit plus verrouille par un thread different, puis elles le
verrouillent, realisent les entrees/sorties demandees, et liberent
l'objet.
(Remarque : ce verrouillage n'a rien a voir avec le verrouillage de
fichier realise par des fonctions comme flock(2) et lockf(3).)
Tout ceci est invisible au programmeur en C, mais il existe deux
raisons de souhaiter un controle plus fin. D'une part, un thread peut
realiser une serie d'entrees/sorties interdependantes, ces operations
ne devant pas etre interrompues par les entrees/sorties d'autres
threads. D'autre part, on peut desirer supprimer la surcharge induite
par ce verrouillage afin d'obtenir de meilleures performances.
A cette fin, un thread peut verrouiller explicitement un objet de type
FILE, puis realiser sa serie d'entrees/sorties, et enfin, relacher le
verrou. Cela empeche les autres threads d'intervenir sur le flux. Si la
motivation du verrouillage est la recherche de meilleures performances,
on peut realiser l'entree/sortie a l'aide des versions non bloquantes
des fonctions stdio : avec getc_unlocked(3) et putc_unlocked(3) au lieu
de getc(3) et putc(3).
La fonction flockfile() attend jusqu'a ce que *filehandle ne soit plus
verrouille par un autre thread, puis affecte *filehandle au thread
actuel, et incremente le << compteur de verrouillage >>.
La fonction funlockfile() decremente le << compteur de verrouillage >>.
La fonction ftrylockfile() est une version non bloquante de
flockfile(). Elle ne fait rien lorsqu'un autre thread est proprietaire
de *filehandle, sinon, elle se l'approprie et incremente le << compteur
de verrouillage >>.
VALEUR RENVOY'EE
La fonction ftrylockfile() renvoie zero en cas de succes (le verrou a
ete obtenu), et une valeur non nulle en cas d'echec.
ERREURS
Aucune.
CONFORMIT'E
POSIX.1-2001.
DISPONIBILIT'E
Ces fonctions sont disponibles lorsque _POSIX_THREAD_SAFE_FUNCTIONS est
defini. Elles sont presentes dans la libc depuis la version 5.1.1 et
dans la glibc depuis la version 2.0.
VOIR AUSSI
unlocked_stdio(3)
COLOPHON
Cette page fait partie de la publication 3.32 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Stephan Rafin (2002), Alain Portal
<URL:http://manpagesfr.free.fr/> (2006). Florentin Duneau et l'equipe
francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
29 aout 2008 FLOCKFILE(3)