Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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.27 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)