.\" -*- 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 "2 mai 2024" "Pagini de manual de Linux 6.9.1" .SH NUME pthread_attr_setstack, pthread_attr_getstack \- stabilește/obține atributele stivei în obiectul de atribute ale firului de execuție .SH BIBLIOTECA Biblioteca de fire de execuție POSIX (\fIlibpthread\fP, \fI\-lpthread\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint pthread_attr_setstack(pthread_attr_t *\fP\fIattr\fP\fB,\fP \fB void \fP\fIstackaddr\fP\fB[.\fP\fIstacksize\fP\fB],\fP \fB size_t \fP\fIstacksize\fP\fB);\fP \fBint pthread_attr_getstack(const pthread_attr_t *restrict \fP\fIattr\fP\fB,\fP \fB void **restrict \fP\fIstackaddr\fP\fB,\fP \fB size_t *restrict \fP\fIstacksize\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBpthread_attr_getstack\fP(), \fBpthread_attr_setstack\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH DESCRIERE Funcția \fBpthread_attr_attr_setstack\fP() stabilește atributele adresa stivei și dimensiunea stivei ale obiectului de atribute ale firului de execuție la care face referire \fIattr\fP la valorile specificate în \fIstackaddr\fP și, respectiv, \fIstacksize\fP. Aceste atribute specifică locația și dimensiunea stivei care ar trebui să fie utilizate de un fir care este creat cu ajutorul obiectului de atribute ale firului \fIattr\fP. .P \fIstackaddr\fP trebuie să indice cel mai mic octet adresabil dintr\-o memorie tampon de \fIstacksize\fP octeți care a fost alocată de către apelant. Paginile din memoria tampon alocată trebuie să poată fi atât citite, cât și scrise. .P Funcția \fBpthread_attr_getstack\fP() returnează atributele de adresă de stivă și de dimensiune a stivei ale obiectului de atribute ale firului de execuție la care se face referire prin \fIattr\fP în memoriile tampon indicate de \fIstackaddr\fP și, respectiv, \fIstacksize\fP. .SH "VALOAREA RETURNATĂ" În caz de succes, aceste funcții returnează 0; în caz de eroare, ele returnează un număr de eroare diferit de zero. .SH ERORI\-IEȘIRE \fBpthread_attr_setstack\fP() poate eșua cu următoarea eroare: .TP \fBEINVAL\fP \fIstacksize\fP este mai mică decât \fBPTHREAD_STACK_MIN\fP (16384) bytes. Pe unele sisteme, această eroare poate apărea, de asemenea, dacă \fIstackaddr\fP sau \fIstackaddr\ +\ stacksize\fP nu este aliniată în mod corespunzător. .P POSIX.1 documentează, de asemenea, o eroare \fBEACCES\fP în cazul în care zona de stivă descrisă de \fIstackaddr\fP și \fIstacksize\fP nu poate fi atât citită, cât și scrisă de către apelant. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBpthread_attr_setstack\fP(), \fBpthread_attr_getstack\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE POSIX.1\-2008. .SH ISTORIC glibc 2.2. POSIX.1\-2001. .SH NOTE Aceste funcții sunt furnizate pentru aplicațiile care trebuie să se asigure că stiva unui fir de execuție este plasată într\-o anumită locație. Pentru majoritatea aplicațiilor, acest lucru nu este necesar, iar utilizarea acestor funcții ar trebui evitată (utilizați \fBpthread_attr_setstacksize\fP(3) dacă o aplicație necesită pur și simplu o dimensiune a stivei diferită de cea implicită). .P Atunci când o aplicație utilizează \fBpthread_attr_setstack\fP(), aceasta preia responsabilitatea alocării stivei. Orice valoare a mărimii de gardă care a fost stabilită cu ajutorul \fBpthread_attr_setguardsize\fP(3) este ignorată. În cazul în care se consideră necesar, este responsabilitatea aplicației să aloce o zonă de gardă (una sau mai multe pagini protejate împotriva citirii și scrierii) pentru a gestiona posibilitatea de depășire a stivei. .P Adresa specificată în \fIstackaddr\fP ar trebui să fie aliniată în mod corespunzător: pentru o portabilitate completă, aliniați\-o pe o limită de pagină (\fIsysconf(_SC_PAGESIZE)\fP). \fBposix_memalign\fP(3) poate fi utilă pentru alocare. Probabil, \fIstacksize\fP ar trebui să fie, de asemenea, un multiplu al dimensiunii paginii de sistem. .P Dacă \fIattr\fP este utilizat pentru a crea mai multe fire de execuție, atunci apelantul trebuie să schimbe atributul adresei stivei între apelurile la \fBpthread_create\fP(3); în caz contrar, firele de execuție vor încerca să utilizeze aceeași zonă de memorie pentru stivele lor, ceea ce va duce la haos. .SH EXEMPLE A se vedea \fBpthread_attr_init\fP(3). .SH "CONSULTAȚI ȘI" .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 TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .