Provided by: manpages-ro-dev_4.28.0-2_all 

NUME
sigsuspend, rt_sigsuspend, rt_sigsuspend - așteaptă un semnal
BIBLIOTECA
Biblioteca C standard (libc, -lc)
SINOPSIS
#include <signal.h>
int sigsuspend(const sigset_t *mask);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):
sigsuspend():
_POSIX_C_SOURCE
DESCRIERE
sigsuspend() înlocuiește temporar masca de semnal a firului apelant cu masca dată de mask și apoi
suspendă firul până la livrarea unui semnal a cărui acțiune este de a invoca un gestionar de semnal sau
de a încheia un proces.
Dacă semnalul termină procesul, atunci sigsuspend() nu returnează. În cazul în care semnalul este prins,
atunci sigsuspend() returnează după ce gestionarul de semnal returnează, iar masca de semnal este
restabilită la starea anterioară apelului la sigsuspend().
Nu este posibil să se blocheze SIGKILL sau SIGSTOP; specificarea acestor semnale în mask, nu are niciun
efect asupra măștii de semnal a firului.
VALOAREA RETURNATĂ
sigsuspend() returnează întotdeauna -1, cu errno configurată pentru a indica eroarea (în mod normal,
EINTR).
ERORI-IEȘIRE
EFAULT mask indică o memorie care nu este o parte validă a spațiului de adrese al procesului.
EINTR Apelul a fost întrerupt de un semnal; signal(7).
STANDARDE
POSIX.1-2008.
ISTORIC
POSIX.1-2001.
Diferențe între biblioteca C și nucleu
Apelul original al sistemului Linux a fost numit sigsuspend(). Cu toate acestea, odată cu adăugarea
semnalelor în timp real în Linux 2.2, tipul sigset_t de 32 de biți, de dimensiune fixă, admis de acest
apel de sistem nu mai era adecvat scopului. În consecință, a fost adăugat un nou apel de sistem,
rt_sigsuspend(), pentru a admite un tip sigset_t mărit. Noul apel de sistem primește un al doilea
argument, size_t sigsetsize, care specifică dimensiunea în octeți a setului de semnale din mask. În
prezent, acest argument trebuie să aibă valoarea sizeof(sigset_t) (în caz contrar, apare eroarea EINVAL).
Funcția învăluitoare glibc sigsuspend() ne ascunde aceste detalii, apelând în mod transparent
rt_sigsuspend() atunci când nucleul o furnizează.
NOTE
În mod normal, sigsuspend() este utilizat împreună cu sigprocmask(2) pentru a preveni transmiterea unui
semnal în timpul executării unei secțiuni de cod critice. Apelantul blochează mai întâi semnalele cu
sigprocmask(2). Când codul critic s-a terminat, apelantul așteaptă apoi semnalele prin apelarea
sigsuspend() cu masca de semnal care a fost returnată de sigprocmask(2) (în argumentul oldset).
A se vedea sigsetops(3) pentru detalii privind manipularea seturilor de semnale.
CONSULTAȚI ȘI
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), sigwait(3),
signal(7)
TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu
<remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 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.
Pagini de manual de Linux 6.9.1 2 mai 2024 sigsuspend(2)