pthread_barrierattr_getpshared ou pthread_barrierattr_setpshared Sous-routine
Objectif
Extrait et définit l'attribut process-shared de l'objet Barrier Attributes.
Syntaxe
#include <pthread.h>
int pthread_barrierattr_getpshared(const pthread_barrierattr_t *
restrict attr, int *restrict pshared);
int pthread_barrierattr_setpshared(pthread_barrierattr_t *attr,
int pshared); Descriptif
La sous-routine pthread_barrierattr_getpshared obtient la valeur de l'attribut process-shared à partir de l'objet d'attributs référencé par le paramètre attr . La sous-routine pthread_barrierattr_setpshared définit l'attribut process-shared dans un objet d'attributs initialisé référencé par le paramètre attr .
L'attribut process-shared est défini sur PTHREAD_PROCESS_SHARED pour permettre à toute unité d'exécution ayant accès à la mémoire dans laquelle la barrière est allouée d'exploiter une barrière. Si l'attribut process-shared est PTHREAD_PROCESS_PRIVATE, la barrière est uniquement exploitée par des unités d'exécution créées dans le même processus que l'unité d'exécution qui a initialisé la barrière ; si des unités d'exécution de processus différents tentent d'opérer sur une telle barrière, le comportement n'est pas défini. La valeur par défaut de l'attribut est PTHREAD_PROCESS_PRIVATE. Les deux constantes PTHREAD_PROCESS_SHARED et PTHREAD_PROCESS_PRIVATE sont définies dans le fichier pthread.h .
Les attributs supplémentaires, leurs valeurs par défaut et les noms des fonctions associées pour obtenir et définir ces valeurs d'attribut sont définis par l'implémentation.
Valeurs renvoyées
Si l'opération aboutit, la sous-routine pthread_barrierattr_getpshared renvoie zéro et stocke la valeur de l'attribut process-shared de attr dans l'objet référencé par le paramètre pshared . Dans le cas contraire, un numéro d'erreur est renvoyé pour indiquer l'erreur.
En cas de réussite, la sous-routine pthread_barrierattr_setpshared renvoie zéro ; sinon, un numéro d'erreur est renvoyé pour indiquer l'erreur.
Codes d'erreur
Ces fonctions peuvent échouer si:
| Article | Descriptif |
|---|---|
| EINVAL | La valeur spécifiée par attr n'est pas valide. |
La sous-routine pthread_barrierattr_setpshared échoue si:
| Article | Descriptif |
|---|---|
| EINVAL | La nouvelle valeur spécifiée pour l'attribut process-shared n'est pas l'une des valeurs admises PTHREAD_PROCESS_SHARED ou PTHREAD_PROCESS_PRIVATE. |