Provided by: manpages-ro-dev_4.21.0-2_all
NUME
pthread_attr_setsigmask_npp, pthread_attr_getsigmask_np - stabilește/obține atributul de mască de semnal în obiectul de atribute al firului de execuție
BIBLIOTECA
Biblioteca de fire de execuție POSIX (libpthread, -lpthread)
REZUMAT
#define _GNU_SOURCE /* Consultați feature_test_macros(7) */ #include <pthread.h> int pthread_attr_setsigmask_np(pthread_attr_t *attr, const sigset_t *sigmask); int pthread_attr_getsigmask_np(const pthread_attr_t *attr, sigset_t *sigmask);
DESCRIERE
Funcția pthread_attr_setsigmask_np() stabilește atributul de mască de semnal al obiectului de atribute de fir la care face referire attr la valoarea specificată în *sigmask. În cazul în care sigmask este specificat ca fiind NULL, atunci orice atribut de mască de semnal existent în attr este dezactivat. Funcția pthread_attr_getsigmask_np() returnează atributul de mască de semnal al obiectului de atribute ale firelor la care face referire attr în memoria tampon indicată de sigmask. În cazul în care atributul de mască de semnal nu este activat, această funcție returnează ca rezultat valoarea specială PTHREAD_ATTR_NO_SIGMASK_NP.
VALOAREA RETURNATĂ
Funcția pthread_attr_setsigmask_np() returnează 0 în caz de succes sau un număr de eroare diferit de zero în caz de eșec. Funcția pthread_attr_getsigmask_np() returnează fie 0, fie PTHREAD_ATTR_NO_SIGMASK_NP. Atunci când se returnează 0, atributul de mască de semnal este returnat prin sigmask. O valoare de returnare PTHREAD_ATTR_NO_SIGMASK_NP indică faptul că atributul de mască de semnal nu este definit în attr. În caz de eroare, aceste funcții returnează un număr pozitiv de eroare.
ERORI
ENOMEM (pthread_attr_setsigmask_np()) Nu s-a putut aloca memorie.
VERSIUNI
Aceste funcții sunt furnizate începând cu glibc 2.32.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7). ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐ │Interfață │ Atribut │ Valoare │ ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │pthread_attr_setsigmask_np(), pthread_attr_getsigmask_np() │ Siguranța firelor │ MT-Safe │ └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
Aceste funcții sunt extensii GNU nestandardizate; de aici și sufixul „_np” („neportabilă”) din nume.
NOTE
Atributul de mască de semnal determină masca de semnal care va fi atribuită unui fir creat cu ajutorul obiectului de atribute de fir attr. Dacă acest atribut nu este definit, atunci un fir creat cu ajutorul obiectului attr va moșteni o copie a măștii de semnal a firului creator. Pentru mai multe detalii despre măștile de semnal, a se vedea sigprocmask(2). Pentru o descriere a unui set de macrocomenzi care pot fi utilizate pentru a manipula și inspecta seturile de semnale, a se vedea sigsetops(3). În absența pthread_attr_setsigmask_np(), este posibil să se creeze un fir cu o mască de semnal dorită după cum urmează: • Firul creator utilizează pthread_sigmask(3) pentru a-și salva masca de semnal curentă și pentru a-și defini masca pentru a bloca toate semnalele. • Noul fir este apoi creat folosind pthread_create(); noul fir va moșteni masca de semnal a firului creator. • Noul fir își stabilește masca de semnal la valoarea dorită folosind pthread_sigmask(3). • Firul creator își restabilește masca de semnal la valoarea inițială. Urmând pașii de mai sus, nu există nicio posibilitate ca noul fir să primească un semnal înainte de a-și fi ajustat masca de semnal la valoarea dorită.
CONSULTAȚI ȘI
sigprocmask(2), pthread_attr_init(3), pthread_sigmask(3), pthreads(7), signal(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org> Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE. Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la ⟨translation-team-ro@lists.sourceforge.net⟩.