pthread_mutexattr_destroy ou pthread_mutexattr_init Sous-routine
Objectif
Initialise et détruit les attributs mutex.
Bibliothèque
Bibliothèque d'unités d'exécution (libpthreads.a)
Syntaxe
#include <pthread.h>
int pthread_mutexattr_init (attr)
pthread_mutexattr_t *attr;
int pthread_mutexattr_destroy (attr)
pthread_mutexattr_t *attr;Descriptif
La fonction pthread_mutexattr_init initialise un objet d'attributs de mutex attr avec la valeur par défaut pour tous les attributs définis par l'implémentation.
L'effet de l'initialisation d'un objet d'attributs mutex déjà initialisé n'est pas défini.
Une fois qu'un objet d'attributs d'exclusion mutuelle a été utilisé pour initialiser une ou plusieurs exclusions mutuelles, toute fonction affectant l'objet d'attributs (y compris la destruction) n'affecte pas les exclusions mutuelles précédemment initialisées.
La fonction pthread_mutexattr_destroy détruit un objet d'attributs de mutex ; l'objet devient, en fait, non initialisé. Une implémentation peut amener pthread_mutexattr_destroy à définir l'objet référencé par attr sur une valeur non valide. Un objet d'attributs de mutex détruit peut être réinitialisé à l'aide de pthread_mutexattr_init; les résultats du référencement de l'objet après sa destruction ne sont pas définis.
Paramètres
| Article | Descriptif |
|---|---|
| attr | Indique l'objet d'attributs mutex à initialiser ou à supprimer. |
Valeurs renvoyées
Une fois l'opération terminée, pthread_mutexattr_init et pthread_mutexattr_destroy renvoient zéro. Sinon, un numéro d'erreur est renvoyé pour indiquer l'erreur.
Codes d'erreur
La fonction pthread_mutexattr_init échoue si:
| Article | Descriptif |
|---|---|
| ENOMEM | La mémoire est insuffisante pour initialiser l'objet d'attributs mutex. |
La fonction pthread_mutexattr_destroy échoue si:
| Article | Descriptif |
|---|---|
| EINVAL | La valeur spécifiée par attr n'est pas valide. Ces fonctions ne renverront pas EINTR. |