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

NUME

       sigqueue - pune la coadă un semnal și date pentru un proces

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <signal.h>

       int sigqueue(pid_t pid, int sig, const union sigval value);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       sigqueue():
           _POSIX_C_SOURCE >= 199309L

DESCRIERE

       sigqueue()  trimite semnalul specificat în sig către procesul al cărui PID este dat în pid.  Permisiunile
       necesare pentru a trimite un semnal sunt aceleași ca pentru kill(2).  Ca și în  cazul  kill(2),  semnalul
       nul (0) poate fi utilizat pentru a verifica dacă există un proces cu un PID dat.

       Argumentul  value este utilizat pentru a specifica un element de date însoțitor (fie un număr întreg, fie
       o valoare de indicator) care urmează să fie trimis împreună cu semnalul și are următorul tip:

           union sigval {
               int   sival_int;
               void *sival_ptr;
           };

       În cazul în care procesul de recepție a instalat un gestionar  pentru  acest  semnal  utilizând  fanionul
       SA_SIGINFO la sigaction(2), atunci acesta poate obține aceste date prin intermediul câmpului si_value din
       structura  siginfo_t transmisă ca al doilea argument al gestionarului. În plus, câmpul si_code al acestei
       structuri va fi stabilit la SI_QUEUE.

VALOAREA RETURNATĂ

       În caz de succes, sigqueue() returnează 0, indicând că semnalul a fost  pus  cu  succes  în  coadă  către
       procesul receptor.  În caz contrar, se returnează -1, iar 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 nu a fost valid.

       EPERM  Procesul nu are permisiunea de a trimite semnalul către procesul  receptor.   Pentru  permisiunile
              necesare, a se vedea kill(2).

       ESRCH  Niciun proces nu are un PID care să corespundă cu pid.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ sigqueue()                                                              │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

VERSIUNI

   Diferențe între biblioteca C și nucleu
       În  Linux,  sigqueue()  este implementat utilizând apelul de sistem rt_sigqueueinfo(2).  Apelul de sistem
       diferă prin cel de-al treilea argument, care este structura siginfo_t care va fi furnizată  gestionarului
       de  semnal  al  procesului  receptor  sau returnată de apelul sigtimedwait(2) al procesului receptor.  În
       interiorul funcției învăluitoare sigqueue() a glibc, acest argument, uinfo,  este  inițializat  după  cum
       urmează:

           uinfo.si_signo = sig;      /* Argument furnizat pentru sigqueue() */
           uinfo.si_code = SI_QUEUE;
           uinfo.si_pid = getpid();   /* ID-ul de proces al expeditorului */
           uinfo.si_uid = getuid();   /* UID-ul real al expeditorului */
           uinfo.si_value = val;      /* Argument furnizat pentru sigqueue() */

STANDARDE

       POSIX.1-2008.

ISTORIC

       Linux 2.2.  POSIX.1-2001.

NOTE

       Dacă  această  funcție  are ca rezultat trimiterea unui semnal către procesul care a invocat-o, iar acest
       semnal nu a fost blocat de firul apelant și nici un alt fir nu a fost dispus să gestioneze  acest  semnal
       (fie  prin  deblocarea  lui,  fie  prin  așteptarea  lui folosind sigwait(3)), atunci cel puțin un semnal
       trebuie să fie transmis acestui fir înainte ca această funcție să returneze.

CONSULTAȚI ȘI

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