Provided by: manpages-fr_1.67.0-1_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 type);

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

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).  NULL est équivalent à  demander  les  attributs
       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é.  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_ERREURCHECK_NP pour des mutex avec vérification d’erreur.
       Comme le suffixe NP l’indique, ce sont des extensions non-portables aux
       standard  POSIX  et  ne  devraient  donc  jamais  être employés dans un
       programme portable.

       Le type de mutex détermine ce qui 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  succès.  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 type.

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

VALEUR RENVOYÉE

       pthread_mutexattr_init,          pthread_mutexattr_destroy           et
       pthread_mutexattr_gettype renvoient toujours 0.

       pthread_mutexattr_settype  renvoient  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  l’un  des  codes
       d’erreur suivants :

       EINVAL type        n’est        ni       PTHREAD_MUTEX_FAST_NP       ni
              PTHREAD_MUTEX_RECURSIVE_NP ni PTHREAD_MUTEX_ERREURCHECK_NP

AUTEUR

       Xavier Leroy <Xavier.Leroy@inria.fr>

VOIR AUSSI

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

TRADUCTION

       Thierry Vignaud <tvignaud@mandrakesoft.com>, 2000