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

NUME

       rt_sigqueueinfo, rt_tgsigqueueinfo - pune în coada de așteptare un semnal și date

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <linux/signal.h>     /* Definirea constantelor SI_* */
       #include <sys/syscall.h>      /* Definirea constantelo SYS_* */
       #include <unistd.h>

       int syscall(SYS_rt_sigqueueinfo, pid_t tgid,
                   int sig, siginfo_t *info);
       int syscall(SYS_rt_tgsigqueueinfo, pid_t tgid, pid_t tid,
                   int sig, siginfo_t *info);

       Notă: Nu există funcții de învăluire glibc pentru aceste apeluri de sistem; consultați NOTE.

DESCRIERE

       Apelurile  de  sistem rt_sigqueueinfo() și rt_tgsigqueueinfo() sunt interfețele de nivel scăzut utilizate
       pentru a trimite un semnal plus date către un proces sau un fir de execuție. Receptorul semnalului  poate
       obține  datele  însoțitoare  prin  stabilirea  unui  gestionar  de  semnal  cu  indicatorul  sigaction(2)
       SA_SIGINFO.

       Aceste apeluri de sistem nu sunt destinate utilizării directe de  către  aplicații;  ele  sunt  furnizate
       pentru a permite implementarea sigqueue(3) și pthread_sigqueue(3).

       Apelul  de  sistem  rt_sigqueueinfo()  trimite semnalul sig către grupul de fire cu ID-ul tgid; (termenul
       „grup de fire” este sinonim cu „proces”, iar tid corespunde ID-ului tradițional de proces UNIX). Semnalul
       va fi transmis unui membru arbitrar al grupului de  fire  de  execuție  (adică  unuia  dintre  firele  de
       execuție care nu blochează în prezent semnalul).

       Argumentul  info  specifică  datele care trebuie să însoțească semnalul. Acest argument este un indicator
       către o structură de tip siginfo_t, descrisă în sigaction(2) (și definită prin includerea <sigaction.h>).
       Apelantul trebuie să definească următoarele câmpuri în această structură:

       si_code
              Acesta ar trebui să  fie  unul  dintre  codurile  SI_*  din  fișierul  sursă  al  nucleului  Linux
              include/asm-generic/siginfo.h.  Dacă  semnalul  este trimis către orice alt proces decât apelantul
              însuși, se aplică următoarele restricții:

              •  Codul nu poate fi o valoare mai mare sau egală cu zero. În special, nu poate fi  SI_USER,  care
                 este  utilizat  de  nucleu  pentru  a  indica  un semnal trimis de kill(2), și nici nu poate fi
                 SI_KERNEL, care este utilizat pentru a indica un semnal generat de nucleu.

              •  Codul nu poate fi (începând cu Linux 2.6.39) SI_TKILL, care este utilizat de  nucleu  pentru  a
                 indica un semnal trimis utilizând tgkill(2).

       si_pid Acesta trebuie să fie definit la un ID de proces, de obicei ID-ul de proces al expeditorului.

       si_uid Acesta trebuie definit la un ID de utilizator, de obicei ID-ul de utilizator real al emitentului.

       si_value
              Acest  câmp  conține  datele  utilizatorului care trebuie să însoțească semnalul. Pentru mai multe
              informații, consultați descrierea ultimului argument (union sigval) din sigqueue(3).

       Pe plan intern, nucleul  stabilește  câmpul  si_signo  la  valoarea  specificată  în  sig,  astfel  încât
       receptorul semnalului să poată obține și numărul semnalului prin intermediul acestui câmp.

       Apelul  de  sistem  rt_tgsigqueueinfo() este similar cu rt_sigqueueinfo(), dar trimite semnalul și datele
       către un singur fir specificat de combinația tgid, un ID de grup de fire și tid, un fir din acel grup  de
       fire.

VALOAREA RETURNATĂ

       În caz de succes, aceste apeluri de sistem returnează 0. În caz de eroare, acestea returnează -1 și errno
       este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       EAGAIN A  fost atinsă limita de semnale care pot fi puse în coadă. A se vedea signal(7) pentru informații
              suplimentare.

       EINVAL sig, tgid sau tid nu a fost valid.

       EPERM  Apelantul nu are permisiunea de a trimite semnalul  către  țintă.  Pentru  permisiunile  necesare,
              consultați kill(2).

       EPERM  tgid specifică un alt proces decât apelantul și info->si_code nu este valid.

       ESRCH  rt_sigqueueinfo(): Nu a fost găsit niciun grup de fire care să corespundă tgid.

       rt_tgsigqueinfo(): Nu a fost găsit niciun fir care să corespundă tgid și tid.

STANDARDE

       Linux.

ISTORIC

       rt_sigqueueinfo()
              Linux 2.2.

       rt_tgsigqueueinfo()
              Linux 2.6.31.

NOTE

       Deoarece  aceste  apeluri  de  sistem  nu  sunt  destinate  utilizării în aplicații, nu există funcții de
       învăluire glibc; utilizați syscall(2) în cazul puțin probabil în care doriți să le apelați direct.

       Ca și în cazul kill(2), semnalul nul (0) poate fi utilizat pentru a  verifica  dacă  procesul  sau  firul
       specificat există.

CONSULTAȚI ȘI

       kill(2), pidfd_send_signal(2), sigaction(2), sigprocmask(2), tgkill(2), pthread_sigqueue(3), sigqueue(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                                 rt_sigqueueinfo(2)