Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
PTHREAD_MUTEXATTR
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- AUTEUR
- VOIR AUSSI
- TRADUCTION
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.
|