dwww Home | Manual pages | Find package

pthread_attr_setstack(3)   Library Functions Manual   pthread_attr_setstack(3)

NOM
       pthread_attr_setstack,  pthread_attr_getstack  - Définir ou obtenir les
       attributs de pile d'un objet d'attributs de thread

BIBLIOTHÈQUE
       Bibliothèque de threads POSIX (libpthread, -lpthread)

SYNOPSIS
       #include <pthread.h>

       int pthread_attr_setstack(pthread_attr_t *attr,
                                 void stackaddr[.stacksize],
                                 size_t stacksize);
       int pthread_attr_getstack(const pthread_attr_t *restrict attr,
                                 void **restrict stackaddr,
                                 size_t *restrict stacksize);

   Exigences de macros de test de fonctionnalités  pour  la  glibc  (consulter
   feature_test_macros(7)) :

       pthread_attr_getstack(), pthread_attr_setstack() :
           _POSIX_C_SOURCE >= 200112L

DESCRIPTION
       La  fonction  pthread_attr_setstack() définit l'adresse et la taille de
       la pile dans l'objet d'attributs de thread auquel attr fait  référence,
       à  partir  des valeurs indiquées par stackaddr et stacksize respective-
       ment. Ces attributs indique l'emplacement et la taille de la  pile  qui
       doit être utilisée par un thread qui est créé en utilisant attr.

       stackaddr  devrait  pointer  vers  l'octet adressable d'adresse la plus
       basse d'un tampon de stacksize octets, alloué par l'appelant. Les pages
       du tampon alloué devraient être accessibles en lecture et écriture.

       La  fonction  pthread_attr_getstack()  renvoie, respectivement dans les
       tampons pointé par stackaddr et stacksize, l'adresse et la taille de la
       pile d'un objet d'attributs de thread auquel attr fait référence.

VALEUR RENVOYÉE
       En  cas  de  succès, ces fonctions renvoient 0 ; en cas d'erreur, elles
       renvoient un code d'erreur non nul.

ERREURS
       pthread_attr_setstack() peut échouer avec les erreurs suivantes :

       EINVAL stacksize is less than PTHREAD_STACK_MIN (16384) bytes. On  some
              systems,  this  error  may  also  occur  if  stackaddr  or  sta-
              ckaddr + stacksize is not suitably aligned.

       POSIX.1 also documents an EACCES error if the stack area  described  by
       stackaddr  and  stacksize is not both readable and writable by the cal-
       ler.

VERSIONS
       These functions are provided since glibc 2.2.

ATTRIBUTS
       Pour une explication des termes utilisés dans cette section,  consulter
       attributes(7).

       ┌─────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├─────────────────────────────────────┼──────────────────────┼─────────┤
       │pthread_attr_setstack(),             │ Sécurité des threads │ MT-Safe │
       │pthread_attr_getstack()              │                      │         │
       └─────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS
       POSIX.1-2001, POSIX.1-2008.

NOTES
       Ces fonctions sont fournies pour les applications qui  doivent  assurer
       que la pile d'un thread se trouve à un emplacement particulier. Pour la
       plupart des applications, ce n'est pas nécessaire, et l'utilisation  de
       cette  fonction  devrait  être évitée. (Utilisez pthread_attr_setstack-
       size(3) si une application a juste besoin d'une pile de  taille  diffé-
       rente de la taille par défaut.)

       Quand  une  application  utilise pthread_attr_setstack(), elle prend la
       responsabilité d'allouer la pile. Si une taille de garde a été  définie
       en  utilisant  pthread_attr_setguardsize(3), elle est ignorée. Si c'est
       nécessaire, l'application est responsable de l'allocation d'une zone de
       protection  (une  page  ou  plus protégées en lecture et écriture) pour
       prendre en charge la possibilité d'un débordement de pile.

       L'adresse indiquée par stackaddr devrait  être  alignée  correctement :
       pour  une  compatibilité  complète, il faut l'aligner sur une limite de
       page (sysconf(_SC_PAGESIZE)). posix_memalign(3) peut  être  utile  pour
       l'allocation.  stacksize devrait probablement aussi être un multiple de
       la taille des pages système.

       Si attr est utilisé pour créer plusieurs threads, alors l'appelant doit
       changer  l'attribut  de  l'adresse  de  la  pile  entre  les  appels  à
       pthread_create(3) ; sinon, les threads vont chercher à utiliser la même
       zone mémoire pour leurs piles, ce qui ne pourra que créer du chaos.

EXEMPLES
       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)

TRADUCTION
       La traduction française de cette page de manuel a été créée par
       Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin
       <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>,
       François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe
       Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-
       luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas
       Huriaux <thomas.huriaux@gmail.com>, Nicolas François
       <nicolas.francois@centraliens.net>, Florentin Duneau
       <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-
       bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot
       <david@tilapin.org> et Frédéric Hantrais <fhantrais@gmail.com>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la GNU General Public License version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03  15 décembre 2022       pthread_attr_setstack(3)

Generated by dwww version 1.15 on Sat Jun 29 01:36:50 CEST 2024.