Provided by: manpages-fr-extra_20080618_all bug

NOM

       pthread_mutexattr_init,                      pthread_mutexattr_destroy,
       pthread_mutexattr_settype,  pthread_mutexattr_gettype  -  Attributs  de
       création de mutex

SYNOPSIS

       #include <pthread.h>

       int pthread_mutexattr_init(pthread_mutexattr_t *attr);

       int pthread_mutexattr_destroy(pthread_mutexattr_t *attr);

       int pthread_mutexattr_settype(pthread_mutexattr_t *attr, int kind);

       int   pthread_mutexattr_gettype(const  pthread_mutexattr_t  *attr,  int
       *kind);

DESCRIPTION

       Les attributs de création de mutex peuvent être spécifiés lors de  leur
       création   en   les   passant   en   tant   que   second   argument   à
       pthread_mutex_init(3). Passer une valeur NULL est équivalent à un objet
       attributs  de  mutex  avec tous les attributs positionnés à leur valeur
       par défaut.

       pthread_mutexattr_init() initialise l’objet attributs de mutex attr  et
       le remplit avec les valeurs par défaut.

       pthread_mutexattr_destroy()  détruit un objet attributs de mutex qui ne
       doit  plus  jamais  être   utilisé   à   moins   d’être   réinitialisé.
       pthread_mutexattr_destroy()   ne   fait   rien   dans  l’implémentation
       LinuxThreads.

       LinuxThreads supporte seulement un seul attribut de mutex : le type  de
       mutex   qui   peut  être  soit  PTHREAD_MUTEX_FAST_NP  pour  des  mutex
       « rapides »,   soit   PTHREAD_MUTEX_RECURSIVE_NP   pour    des    mutex
       « récursifs »,  soit  PTHREAD_MUTEX_ERRORCHECK_NP  pour  des mutex avec
       « vérification d’erreur ». Comme le suffixe NP l’indique, ce  sont  des
       extensions  non portables aux spécifications POSIX et ne devraient donc
       jamais être employées dans un programme portable.

       Le type de mutex détermine ce qu’il se passe si  un  thread  essaye  de
       verrouiller  un  mutex déjà verrouillé par pthread_mutex_lock(3). Si le
       mutex est de type « rapide »; pthread_mutex_lock(3) suspend  simplement
       le  thread  appelant.  Si  le  mutex  est  de  type avec « vérification
       d’erreur », pthread_mutex_lock(3) rend la main  immédiatement  avec  le
       code  d’erreur EDEADLK. Si le mutex est de type « récursif », l’appel à
       pthread_mutex_lock(3) rend la main immédiatement avec un code de retour
       de réussite. Le nombre de verrouillage par le thread possédant le mutex
       est enregistré dans le mutex. Le thread possédant le mutex doit appeler
       pthread_mutex_unlock(3)  le même nombre de fois afin que le mutex passe
       à l’état déverrouillé.

       Le  type   de   mutex   par   défaut   est   « rapide »,   c’est-à-dire
       PTHREAD_MUTEX_FAST_NP.

       pthread_mutexattr_settype()  modifie l’attribut type_de_mutex dans attr
       à la valeur spécifiée par kind.

       pthread_mutexattr_gettype() récupère la valeur courante  de  l’attribut
       type  de  mutex  dans  attr  et l’enregistre à l’emplacement pointé par
       kind.

VALEUR RENVOYÉE

       pthread_mutexattr_init(),        pthread_mutexattr_destroy()         et
       pthread_mutexattr_gettype() renvoient toujours 0.

       pthread_mutexattr_settype()  renvoie  0  en  cas  de  succès et un code
       d’erreur non nul en cas d’erreur.

ERREURS

       En cas d’erreur, pthread_mutexattr_settype() renvoie le  code  d’erreur
       suivant :

       EINVAL type        n’est        ni       PTHREAD_MUTEX_FAST_NP       ni
              PTHREAD_MUTEX_RECURSIVE_NP ni PTHREAD_MUTEX_ERRORCHECK_NP

AUTEUR

       Xavier Leroy <Xavier.Leroy@inria.fr>

VOIR AUSSI

       pthread_mutex_init(3), pthread_mutex_lock(3),  pthread_mutex_unlock(3).

TRADUCTION

       Cette  page  de  manuel a été traduite par Thierry Vignaud <tvignaud AT
       mandriva DOT com> en 2000 et  révisée  par  Alain  Portal  <aportal  AT
       univ-montp2  DOT  fr>  en  2006.   La  version présente dans Debian est
       maintenue par les membres de la liste <debian-l10n-french AT lists  DOT
       debian  DOT  org>.  Veuillez signaler toute erreur de traduction par un
       rapport de bogue sur le paquet manpages-fr-extra.

                                 LinuxThreads             PTHREAD_MUTEXATTR(3)