Provided by: manpages-ro-dev_4.27.0-1_all bug

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)