.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2009 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_sigmask 3 "20 iulie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME pthread_sigmask \- examinează și schimbă masca semnalelor blocate .SH BIBLIOTECA Biblioteca de fire de execuție POSIX (\fIlibpthread\fP, \fI\-lpthread\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBint pthread_sigmask(int \fP\fIhow\fP\fB, const sigset_t *\fP\fIset\fP\fB, sigset_t *\fP\fIoldset\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBpthread_sigmask\fP(): .nf _POSIX_C_SOURCE >= 199506L || _XOPEN_SOURCE >= 500 .fi .SH DESCRIERE Funcția \fBpthread_sigmask\fP() este la fel ca \fBsigprocmask\fP(2), cu diferența că utilizarea sa în programele cu mai multe fire este specificată în mod explicit de POSIX.1. Alte diferențe sunt notate în această pagină. .PP Pentru o descriere a argumentelor și a modului de funcționare a acestei funcții, a se vedea \fBsigprocmask\fP(2). .SH "VALOAREA RETURNATĂ" În caz de succes, \fBpthread_sigmask\fP() returnează 0; în caz de eroare, returnează un număr de eroare. .SH ERORI\-IEȘIRE A se vedea \fBsigprocmask\fP(2). .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_sigmask\fP() T} Siguranța firelor MT\-Safe .TE .sp 1 .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH NOTE Un nou fir moștenește o copie a măștii de semnal a creatorului său. .PP Funcția glibc \fBpthread_sigmask\fP() ignoră în tăcere încercările de a bloca cele două semnale în timp real care sunt utilizate în mod intern de către implementarea firelor NPTL. A se vedea \fBnptl\fP(7) pentru detalii. .SH EXEMPLE Programul de mai jos blochează unele semnale în firul principal și apoi creează un fir dedicat pentru a prelua aceste semnale prin \fBsigwait\fP(3). Următoarea sesiune shell demonstrează utilizarea sa: .PP .in +4n .EX $\fB ./a.out &\fP [1] 5423 $\fB kill \-QUIT %1\fP Firul de gestionare a semnalelor a primit semnalul 3 $\fB kill \-USR1 %1\fP Firul de gestionare a semnalelor a primit semnalul 10 $\fB kill \-TERM %1\fP [1]+ Terminat ./a.out .EE .in .SS "Sursa programului" .\" SRC BEGIN (pthread_sigmask.c) \& .EX #include #include #include #include #include #include \& /* Funcții simple de gestionare a erorilor */ \& #define handle_error_en(en, msg) \e do { errno = en; perror(msg); exit(EXIT_FAILURE); } while (0) \& static void * sig_thread(void *arg) { sigset_t *set = arg; int s, sig; \& for (;;) { s = sigwait(set, &sig); if (s != 0) handle_error_en(s, "sigwait"); printf("Firul de gestionare a semnalelor a primit semnalul %d\en", sig); } } \& int main(void) { pthread_t thread; sigset_t set; int s; \& /* Blochează SIGQUIT și SIGUSR1; alte fire create de main() vor moșteni o copie a măștii de semnal. */ \& sigemptyset(&set); sigaddset(&set, SIGQUIT); sigaddset(&set, SIGUSR1); s = pthread_sigmask(SIG_BLOCK, &set, NULL); if (s != 0) handle_error_en(s, "pthread_sigmask"); \& s = pthread_create(&thread, NULL, &sig_thread, &set); if (s != 0) handle_error_en(s, "pthread_create"); \& /* Firul principal continuă să creeze alte fire și/sau să facă alte lucrări. */ \& pause(); /* Pauză fictivă pentru a putea testa programul */ } .EE .\" SRC END .SH "CONSULTAȚI ȘI" \fBsigaction\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2), \fBpthread_attr_setsigmask_np\fP(3), \fBpthread_create\fP(3), \fBpthread_kill\fP(3), \fBsigsetops\fP(3), \fBpthreads\fP(7), \fBsignal\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 .