Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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> >>.