.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pthread_attr_setstack 3 "20 juillet 2023" "Pages du manuel de Linux 6.05.01" .SH NOM pthread_attr_setstack, pthread_attr_getstack — Définir ou obtenir les attributs de pile d'un objet d'attributs de thread .SH BIBLIOTHÈQUE Bibliothèque de threads POSIX (\fIlibpthread\fP, \fI\-lpthread\fP) .SH SYNOPSIS .nf \fB#include \fP .PP \fBint pthread_attr_setstack(pthread_attr_t *\fP\fIattr\fP\fB,\fP \fB void \fP\fIadresse_pile\fP\fB[.\fP\fItaille_pile\fP\fB],\fP \fB size_t \fP\fItaille_pile\fP\fB);\fP \fBint pthread_attr_getstack(const pthread_attr_t *restrict \fP\fIattr\fP\fB,\fP \fB void **restrict \fP\fIadresse_pile\fP\fB,\fP \fB size_t *restrict \fP\fItaille_pile\fP\fB);\fP .fi .PP .RS -4 Exigences de macros de test de fonctionnalités pour la glibc (consulter \fBfeature_test_macros\fP(7))\ : .RE .PP \fBpthread_attr_getstack\fP(), \fBpthread_attr_setstack\fP()\ : .nf _POSIX_C_SOURCE >= 200112L .fi .SH DESCRIPTION La fonction \fBpthread_attr_setstack\fP() définit les attributs adresse et taille de la pile dans l'objet d'attributs de thread auquel \fIattr\fP fait référence, aux valeurs indiquées par \fIadresse_pile\fP et \fItaille_pile\fP respectivement. Ces attributs indiquent l'emplacement et la taille de la pile qui doivent être utilisés par un thread qui est créé en utilisant l'objet d'attributs de thread \fIattr\fP. .PP \fIadresse_pile\fP devrait pointer vers l'octet adressable le plus bas d'un tampon de \fItaille_pile\fP octets, alloué par l'appelant. Les pages du tampon alloué devraient être accessibles en lecture et écriture. .PP La fonction \fBpthread_attr_getstack\fP() renvoie, respectivement dans les tampons pointés par \fIadresse_pile\fP et \fItaille_pile\fP, les attributs d'adresse et de taille de la pile de l'objet d'attributs de thread auquel \fIattr\fP fait référence. .SH "VALEUR RENVOYÉE" En cas de succès, ces fonctions renvoient \fB0\fP\ ; en cas d'erreur, elles renvoient un code d'erreur non nul. .SH ERREURS \fBpthread_attr_setstack\fP() peut échouer avec les erreurs suivantes\ : .TP \fBEINVAL\fP \fItaille_pile\fP est inférieure à \fBPTHREAD_STACK_MIN\fP (16384) octets. Sur certains systèmes, cette erreur peut également se produire si \fIadresse_pile\fP ou \fIadresse_pile\~+\~taille_pile\fP ne sont pas alignées correctement. .PP POSIX.1 documente également une erreur \fBEACCES\fP si la zone de pile décrite par \fIadresse_pile\fP et \fItaille_pile\fP n'est pas accessible en lecture ou écriture par l'appelant. .SH ATTRIBUTS Pour une explication des termes utilisés dans cette section, consulter \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interface Attribut Valeur T{ .na .nh \fBpthread_attr_setstack\fP(), \fBpthread_attr_getstack\fP() T} Sécurité des threads MT\-Safe .TE .sp 1 .SH STANDARDS POSIX.1\-2008. .SH HISTORIQUE glibc 2.2. POSIX.1\-2001. .SH 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 ces fonctions devrait être évitée. (Utilisez \fBpthread_attr_setstacksize\fP(3) si une application a juste besoin d'une pile de taille différente de la taille par défaut.) .PP Quand une application utilise \fBpthread_attr_setstack\fP(), elle prend la responsabilité d'allouer la pile. Si une taille de garde a été définie en utilisant \fBpthread_attr_setguardsize\fP(3), elle est ignorée. Si c'est nécessaire, l'application est responsable de l'allocation d'une zone de garde (une page ou plus protégées en lecture et écriture) pour prendre en charge la possibilité d'un débordement de pile. .PP L'adresse indiquée par \fIadresse_pile\fP devrait être alignée correctement\ : pour une compatibilité complète, il faut l'aligner sur une limite de page (\fIsysconf(_SC_PAGESIZE)\fP). \fBposix_memalign\fP(3) peut être utile pour l'allocation. \fItaille_pile\fP devrait probablement aussi être un multiple de la taille des pages système. .PP Si \fIattr\fP est utilisé pour créer plusieurs threads, alors l'appelant doit changer l'attribut de l'adresse de la pile entre les appels à \fBpthread_create\fP(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. .SH EXEMPLES Consultez \fBpthread_attr_init\fP(3). .SH "VOIR AUSSI" .ad l .nh \fBmmap\fP(2), \fBmprotect\fP(2), \fBposix_memalign\fP(3), \fBpthread_attr_init\fP(3), \fBpthread_attr_setguardsize\fP(3), \fBpthread_attr_setstackaddr\fP(3), \fBpthread_attr_setstacksize\fP(3), \fBpthread_create\fP(3), \fBpthreads\fP(7) .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Frédéric Hantrais et Jean-Pierre Giraud . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .