Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
pthread_attr_setstack, pthread_attr_getstack - Definir ou obtenir les
attributs de pile d'un objet d'attributs de thread
SYNOPSIS
#include <pthread.h>
int pthread_attr_setstack(pthread_attr_t *attr,
void *stackaddr, size_t stacksize);
int pthread_attr_getstack(pthread_attr_t *attr,
void **stackaddr, size_t *stacksize);
Compilez et effectuez l'edition des liens avec l'option -pthread.
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
pthread_attr_getstack(), pthread_attr_setstack() :
_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600
DESCRIPTION
La fonction pthread_attr_setstack() definit l'adresse et la taille de
la pile dans l'objet d'attributs de thread auquel attr fait reference,
a partir des valeurs indiquees par stackaddr et stacksize
respectivement. Ces attributs indique l'emplacement et la taille de la
pile qui doit etre utilisee par un thread qui est cree en utilisant
attr.
stackaddr devrait pointer vers l'octet adressable d'adresse la plus
basse d'un tampon de stacksize octets, alloue par l'appelant. Les pages
du tampon alloue devraient etre accessibles en lecture et ecriture.
La fonction pthread_attr_getstack() renvoie, respectivement dans les
tampons pointe par stackaddr et stacksize, l'adresse et la taille de la
pile d'un objet d'attributs de thread auquel attr fait reference.
VALEUR RENVOY'EE
En cas de reussite, ces fonctions renvoient 0 ; en cas d'erreur elles
renvoient un numero d'erreur non nul.
ERREURS
pthread_attr_setstack() peut echouer avec les erreurs suivantes :
EINVAL stacksize est inferieur a PTHREAD_STACK_MIN (16384) octets. Sur
certains systemes, cette erreur peut egalement se produire si
stackaddr ou stackaddr + stacksize n'est pas aligne
correctement.
POSIX.1-2001 documente egalement une erreur EACCES si la zone de pile
decrite par stackaddr et stacksize n'est pas accessible en lecture ou
ecriture par l'appelant.
VERSIONS
Ces fonctions sont fournies par la glibc depuis la version 2.1.
CONFORMIT'E
POSIX.1-2001.
NOTES
Ces fonctions sont fournies pour les applications qui doivent assurer
que la pile d'un thread se trouve a un emplacement particulier. Pour la
plupart des applications, ce n'est pas necessaire, et l'utilisation de
cette fonction devrait etre evitee. (Utilisez
pthread_attr_setstacksize(3) si une application a juste besoin d'une
pile de taille differente de la taille par defaut.)
Quand une application utilise pthread_attr_setstack(), elle prend la
responsabilite d'allouer la pile. Si une taille de garde a ete definie
en utilisant pthread_attr_setguardsize(3), elle est ignoree. Si c'est
necessaire, l'application est responsable de l'allocation d'une zone de
protection (une page ou plus protegees en lecture et ecriture) pour
prendre en charge la possibilite d'un debordement de pile.
L'adresse indiquee par stackaddr devrait etre alignee correctement :
pour une compatibilite complete, il faut l'aligner sur une limite de
page (sysconf(_SC_PAGESIZE)). posix_memalign(3) peut etre utile pour
l'allocation. stacksize devrait probablement aussi etre un multiple de
la taille des pages systeme.
Si attr est utilise pour creer plusieurs threads, alors l'appelant doit
changer l'attribut de l'adresse de la pile entre les appels a
pthread_create(3) ; sinon, les threads vont chercher a utiliser la meme
zone memoire pour leurs piles, ce qui ne pourra que creer du chaos.
EXEMPLE
Consultez pthread_attr_init(3).
VOIR AUSSI
mmap(2), mprotect(2), posix_memalign(3), pthread_attr_init(3),
pthread_attr_setguardsize(3), pthread_attr_setstackaddr(3),
pthread_attr_setstacksize(3), pthread_create(3), pthreads(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Nicolas Francois et l'equipe francophone de traduction de
Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.