Provided by: manpages-fr-extra_20140201_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)