Provided by:
manpages-fr_1.67.0-1_all 
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