Sous-routine pthread_attr_setstacksize
Objectif
Définit la valeur de l'attribut stacksize d'un objet d'attribut d'unité d'exécution.
Bibliothèque
Bibliothèque d'unités d'exécution (libpthreads.a)
Syntaxe
#include <pthread.h>
int pthread_attr_setstacksize (attr, stacksize)
pthread_attr_t *attr;
size_t stacksize;Descriptif
La sous-routine pthread_attr_setstacksize définit la valeur de l'attribut stacksize de l'objet d'attributs d'unité d'exécution attr. Cet attribut indique la taille de pile minimale, en octets, d'une unité d'exécution créée avec cet objet d'attribut.
La taille de pile allouée est toujours un multiple de 8 ko, supérieure ou égale à la taille de pile minimale de 56 ko (PTHREAD_STACK_MIN). La formule suivante permet de calculer la taille de pile allouée: si la taille de pile requise est inférieure à 56 ko, la taille de pile allouée est de 56 ko ; sinon, si la taille de pile requise appartient à la plage de (56 + (n -1) * 16) ko à (56 + n * 16) ko, la taille de pile allouée est de (56 + n * 16) ko.
-D_THREAD_SAFE doit être utilisé ou le compilateur cc_r doit être utilisé. Dans ce cas, l'indicateur est automatiquement défini.Paramètres
| Article | Descriptif |
|---|---|
| attr | Indique l'objet d'attributs d'unité d'exécution. |
| stacksize | Indique la taille de pile minimale, en octets, à définir. La taille de pile par défaut est PTHREAD_STACK_MIN. La taille de pile minimale doit être supérieure ou égale à cette valeur. |
Valeurs renvoyées
Une fois l'opération terminée, la valeur 0 est renvoyée. Sinon, un code d'erreur est renvoyé.
Codes d'erreur
La sous-routine pthread_attr_setstacksize échoue si la condition suivante est vraie:
| Article | Descriptif |
|---|---|
EINVAL |
Le paramètre attr n'est pas valide ou la valeur du paramètre stacksize dépasse une limite imposée par le système. |
ENOSYS |
L'option de taille de pile POSIX n'est pas implémentée. |