Scroll to navigation

SYSV_SIGNAL(3) Manualul programatorului Linux SYSV_SIGNAL(3)

NUME

sysv_signal - gestionarea semnalelor cu semantica System V

REZUMAT

#define _GNU_SOURCE /* Consultați feature_test_macros(7) */
#include <signal.h>

typedef void (*sighandler_t)(int);

sighandler_t sysv_signal(int signum, sighandler_t handler);

DESCRIERE

Funcția sysv_signal() primește aceleași argumente și îndeplinește aceeași sarcină ca și signal(2).

Cu toate acestea, sysv_signal() oferă semantica semnalelor nesigure din System V, și anume: a) dispoziția semnalului este readusă la valoarea implicită atunci când gestionarul este invocat; b) livrarea altor instanțe ale semnalului nu este blocată în timp ce gestionarul de semnal se execută; și c) dacă gestionarul întrerupe (anumite) apeluri de sistem care blochează, atunci apelul de sistem nu este repornit automat.

VALOAREA RETURNATĂ

Funcția sysv_signal() returnează valoarea anterioară a gestionarului de semnal sau SIG_ERR în caz de eroare.

ERORI

Ca și pentru signal(2).

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
sysv_signal() Siguranța firelor MT-Safe

ÎN CONFORMITATE CU

Această funcție este nestandardizată.

NOTE

Utilizarea funcției sysv_signal() ar trebui evitată; utilizați în schimb sigaction(2).

Pe sistemele Linux mai vechi, sysv_signal() și signal(2) erau echivalente. Dar pe sistemele mai noi, signal(2) oferă o semantică fiabilă a semnalelor; consultați signal(2) pentru detalii.

Utilizarea sighandler_t este o extensie GNU; acest tip este definit numai dacă macro de testare a caracteristicii _GNU_SOURCE este definită.

CONSULTAȚI ȘI

sigaction(2), signal(2), bsd_signal(3), signal(7)

COLOFON -- NOTĂ FINALĂ

Această pagină face parte din versiunea 4.16 a proiectului Linux man-pages. O descriere a proiectului, informații despre raportarea erorilor și cea mai recentă versiune a acestei pagini pot fi găsite la https://www.kernel.org/doc/man-pages/.

TRADUCERE

Traducerea în limba română a acestui manual a fost creată 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.

15 septembrie 2017