.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2016 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pthread_getattr_default_np 3 "15 iunie 2024" "Pagini de manual de Linux 6.9.1" .SH NUME pthread_getattr_default_np, pthread_setattr_default_np, \- obține sau stabilește atributele implicite de creare a firelor .SH BIBLIOTECA Biblioteca de fire de execuție POSIX (\fIlibpthread\fP, \fI\-lpthread\fP) .SH SINOPSIS .nf \fB#define _GNU_SOURCE\fP /* Consultați feature_test_macros(7) */ \fB#include \fP .P \fBint pthread_getattr_default_np(pthread_attr_t *\fP\fIattr\fP\fB);\fP \fBint pthread_setattr_default_np(const pthread_attr_t *\fP\fIattr\fP\fB);\fP .fi .SH DESCRIERE Funcția \fBpthread_setattr_default_np\fP() stabilește atributele implicite utilizate pentru crearea unui nou fir \-\- adică atributele care sunt utilizate atunci când \fBpthread_create\fP(3) este apelat cu un al doilea argument care este NULL. Atributele implicite sunt stabilite folosind atributele furnizate în \fI*attr\fP, un obiect de atribute de fir inițializat anterior. Rețineți următoarele detalii despre obiectul de atribute furnizat: .IP \[bu] 3 Valorile atributelor din obiect trebuie să fie valide. .IP \[bu] Atributul \fIstack address\fP nu trebuie să fie definit în obiect. .IP \[bu] Stabilirea atributului \fIstack size\fP la zero înseamnă păstrarea neschimbată a dimensiunii implicite a stivei. .P Funcția \fBpthread_getattr_default_np\fP() inițializează obiectul atributelor firului la care face referire \fIattr\fP astfel încât să conțină atributele implicite utilizate pentru crearea firului. .SH ERORI\-IEȘIRE .TP \fBEINVAL\fP (\fBpthread_setattr_default_np\fP()) Una dintre valorile atributelor din \fIattr\fP nu este valabilă sau atributul adresei stivei este definit în \fIattr\fP. .TP \fBENOMEM\fP .\" Can happen (but unlikely) while trying to allocate memory for cpuset (\fBpthread_setattr_default_np\fP()) Memorie insuficientă. .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_getattr_default_np\fP(), \fBpthread_setattr_default_np\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE GNU; de aici și sufixul „_np” (neportabil) din numele acestora. .SH ISTORIC glibc 2.18. .SH EXEMPLE Programul de mai jos utilizează \fBpthread_getattr_default_np\fP() pentru a obține atributele implicite de creare a firelor și apoi afișează diverse configurări din obiectul returnat al atributelor firelor. La rularea programului, vedem următoarea ieșire: .P .in +4n .EX $ \fB./a.out\fP Stack size: 8388608 Guard size: 4096 Scheduling policy: SCHED_OTHER Scheduling priority: 0 Detach state: JOINABLE Inherit scheduler: INHERIT .EE .in .SS "Sursa programului" .\" SRC BEGIN (pthread_getattr_default_np.c) \& .EX #define _GNU_SOURCE #include #include #include #include #include \& static void display_pthread_attr(pthread_attr_t *attr) { int s; size_t stacksize; size_t guardsize; int policy; struct sched_param schedparam; int detachstate; int inheritsched; \& s = pthread_attr_getstacksize(attr, &stacksize); if (s != 0) errc(EXIT_FAILURE, s, "pthread_attr_getstacksize"); printf("Stack size: %zu\[rs]n", stacksize); \& s = pthread_attr_getguardsize(attr, &guardsize); if (s != 0) errc(EXIT_FAILURE, s, "pthread_attr_getguardsize"); printf("Guard size: %zu\[rs]n", guardsize); \& s = pthread_attr_getschedpolicy(attr, &policy); if (s != 0) errc(EXIT_FAILURE, s, "pthread_attr_getschedpolicy"); printf("Scheduling policy: %s\[rs]n", (policy == SCHED_FIFO) ? "SCHED_FIFO" : (policy == SCHED_RR) ? "SCHED_RR" : (policy == SCHED_OTHER) ? "SCHED_OTHER" : "[unknown]"); \& s = pthread_attr_getschedparam(attr, &schedparam); if (s != 0) errc(EXIT_FAILURE, s, "pthread_attr_getschedparam"); printf("Scheduling priority: %d\[rs]n", schedparam.sched_priority); \& s = pthread_attr_getdetachstate(attr, &detachstate); if (s != 0) errc(EXIT_FAILURE, s, "pthread_attr_getdetachstate"); printf("Detach state: %s\[rs]n", (detachstate == PTHREAD_CREATE_DETACHED) ? "DETACHED" : (detachstate == PTHREAD_CREATE_JOINABLE) ? "JOINABLE" : "???"); \& s = pthread_attr_getinheritsched(attr, &inheritsched); if (s != 0) errc(EXIT_FAILURE, s, "pthread_attr_getinheritsched"); printf("Inherit scheduler: %s\[rs]n", (inheritsched == PTHREAD_INHERIT_SCHED) ? "INHERIT" : (inheritsched == PTHREAD_EXPLICIT_SCHED) ? "EXPLICIT" : "???"); } \& int main(void) { int s; pthread_attr_t attr; \& s = pthread_getattr_default_np(&attr); if (s != 0) errc(EXIT_FAILURE, s, "pthread_getattr_default_np"); \& display_pthread_attr(&attr); \& exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "CONSULTAȚI ȘI" .ad l .nh \fBpthread_attr_getaffinity_np\fP(3), \fBpthread_attr_getdetachstate\fP(3), \fBpthread_attr_getguardsize\fP(3), \fBpthread_attr_getinheritsched\fP(3), \fBpthread_attr_getschedparam\fP(3), \fBpthread_attr_getschedpolicy\fP(3), \fBpthread_attr_getscope\fP(3), \fBpthread_attr_getstack\fP(3), \fBpthread_attr_getstackaddr\fP(3), \fBpthread_attr_getstacksize\fP(3), \fBpthread_attr_init\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 .