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)