pthread_rwlockattr_init ou pthread_rwlockattr_destroy Sous-routines
Objectif
Initialise et détruit l'objet d'attributs de verrou en lecture-écriture.
Bibliothèque
Bibliothèque d'unités d'exécution (libpthreads.a)
Syntaxe
#include <pthread.h>
int pthread_rwlockattr_init (attr)
pthread_rwlockattr_t *attr;
int pthread_rwlockattr_destroy (attr)
pthread_rwlockattr_t *attr;Descriptif
La sous-routine pthread_rwlockattr_init initialise un objet d'attributs de verrou en lecture-écriture attr avec la valeur par défaut pour tous les attributs définis par l'implémentation. Les résultats ne sont pas définis si pthread_rwlockattr_init est appelé en spécifiant un objet d'attributs de verrouillage en lecture-écriture déjà initialisé.
Une fois qu'un objet d'attributs de verrou en lecture-écriture a été utilisé pour initialiser un ou plusieurs verrous en lecture-écriture, toute fonction affectant l'objet d'attributs (y compris la destruction) n'affecte pas les verrous en lecture-écriture précédemment initialisés.
La sous-routine pthread_rwlockattr_destroy détruit un objet d'attributs de verrouillage en lecture-écriture. L'effet de l'utilisation ultérieure de l'objet n'est pas défini tant que l'objet n'est pas réinitialisé par un autre appel à pthread_rwlockattr_init. Une implémentation peut amener pthread_rwlockattr_destroy à définir l'objet référencé par attr sur une valeur non valide.
Paramètres
| Article | Descriptif |
|---|---|
| attr | Indique un objet d'attributs de verrou en lecture-écriture à initialiser ou à détruire. |
Valeur renvoyée
Si l'opération aboutit, les sous-routines pthread_rwlockattr_init et pthread_rwlockattr_destroy renvoient zéro. Sinon, un numéro d'erreur est renvoyé pour indiquer l'erreur.
Codes d'erreur
La sous-routine pthread_rwlockattr_init échoue si:
| Article | Descriptif |
|---|---|
| ENOMEM | La mémoire est insuffisante pour initialiser l'objet d'attributs de verrou en lecture-écriture. |
La sous-routine pthread_rwlockattr_destroy échoue si:
| Article | Descriptif |
|---|---|
| EINVAL | La valeur spécifiée par attr n'est pas valide. |