.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2005 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sigset 3 "2 mai 2024" "Pagini de manual de Linux 6.9.1" .SH NUME sigset, sighold, sigrelse, sigignore \- API de semnal pentru System V .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBtypedef void (*sighandler_t)(int);\fP .P \fB[[depreciat]] sighandler_t sigset(int \fP\fIsig\fP\fB, sighandler_t \fP\fIdisp\fP\fB);\fP .P \fB[[depreciat]] int sighold(int \fP\fIsig\fP\fB);\fP \fB[[depreciat]] int sigrelse(int \fP\fIsig\fP\fB);\fP \fB[[depreciat]] int sigignore(int \fP\fIsig\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBsigset\fP(), \fBsighold\fP(), \fBsigrelse\fP(), \fBsigignore\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 .fi .SH DESCRIERE Aceste funcții sunt furnizate în glibc ca o interfață de compatibilitate pentru programele care utilizează API\-ul istoric de semnale System V. Acest API este depășit: noile aplicații ar trebui să utilizeze API\-ul de semnal POSIX (\fBsigaction\fP(2), \fBsigprocmask\fP(2), etc.) .P Funcția \fBsigset\fP() modifică dispoziția semnalului \fIsig\fP. Argumentul \fIdisp\fP poate fi adresa unei funcții de tratare a semnalului sau una dintre următoarele constante: .TP \fBSIG_DFL\fP Readuce dispoziția \fIsig\fP la valoarea implicită. .TP \fBSIG_IGN\fP Ignoră \fIsig\fP. .TP \fBSIG_HOLD\fP Adaugă \fIsig\fP la masca de semnal a procesului, dar lasă dispoziția lui \fIsig\fP neschimbată. .P Dacă \fIdisp\fP specifică adresa unui manipulator de semnal, atunci \fIsig\fP este adăugat la masca de semnal a procesului în timpul executării gestionarului. .P Dacă \fIdisp\fP a fost specificat ca o valoare diferită de \fBSIG_HOLD\fP, atunci \fIsig\fP este eliminat din masca de semnal a procesului. .P Dispozițiile pentru \fBSIGKILL\fP și \fBSIGSTOP\fP nu pot fi modificate. .P Funcția \fBsighold\fP() adaugă \fIsig\fP la masca de semnal a procesului apelant. .P Funcția \fBsigrelse\fP() elimină \fIsig\fP din masca de semnal a procesului apelant. .P Funcția \fBsigignore\fP() stabilește dispoziția \fIsig\fP la \fBSIG_IGN\fP. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBsigset\fP() returnează \fBSIG_HOLD\fP dacă \fIsig\fP a fost blocat înainte de apel, sau dispoziția anterioară a semnalului dacă acesta nu a fost blocat înainte de apel. În caz de eroare, \fBsigset\fP() returnează \-1, cu \fIerrno\fP configurată pentru a indica eroarea. A se vedea însă ERORI, mai jos. .P Funcțiile \fBsighold\fP(), \fBsigrelse\fP() și \fBsigignore\fP() returnează 0 în caz de succes; în caz de eroare, aceste funcții returnează \-1 și configurează \fIerrno\fP pentru a indica eroarea. .SH ERORI\-IEȘIRE Pentru \fBsigset\fP(), a se vedea ERORILE de la \fBsigaction\fP(2) și \fBsigprocmask\fP(2). .P Pentru \fBsighold\fP() și \fBsigrelse\fP(), a se vedea ERORI la \fBsigprocmask\fP(2). .P Pentru \fBsigignore\fP(), a se vedea erorile de la \fBsigaction\fP(2). .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBsigset\fP(), \fBsighold\fP(), \fBsigrelse\fP(), \fBsigignore\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE POSIX.1\-2008. .TP \fIsighandler_t\fP GNU. POSIX.1 utilizează același tip, dar fără un \fItypedef\fP. .SH ISTORIC glibc 2.1. SVr4, POSIX.1\-2001. POSIX.1\-2008 marchează aceste funcții ca fiind depășite, recomandând în schimb utilizarea \fBsigaction\fP(2), \fBsigprocmask\fP(2), \fBpthread_sigmask\fP(3) și \fBsigsuspend\fP(2). .SH NOTE Funcția \fBsigset\fP() oferă o semantică fiabilă de gestionare a semnalelor (ca atunci când se apelează \fBsigaction\fP(2) cu \fIsa_mask\fP egal cu 0). .P Pe System V, funcția \fBsignal\fP() oferă o semantică nesigură (ca atunci când se apelează \fBsigaction\fP(2) cu \fIsa_mask\fP egal cu \fISA_RESETHAND | SA_NODEFER\fP). Pe BSD, \fBsignal\fP() oferă o semantică fiabilă. POSIX.1\-2001 lasă aceste aspecte ale \fBsignal\fP() nespecificate. Consultați \fBsignal\fP(2) pentru detalii suplimentare. .P Pentru a aștepta un semnal, BSD și System V au furnizat o funcție numită \fBsigpause\fP(3), dar această funcție are un argument diferit pe cele două sisteme. Consultați \fBsigpause\fP(3) pentru detalii. .SH ERORI Înainte de glibc 2.2, \fBsigset\fP() nu debloca \fIsig\fP dacă \fIdisp\fP era specificat ca o valoare diferită de \fBSIG_HOLD\fP. .P .\" See http://sourceware.org/bugzilla/show_bug.cgi?id=1951 Înainte de glibc 2.5, \fBsigset\fP() nu returnează corect dispoziția anterioară a semnalului în două cazuri. În primul rând, dacă \fIdisp\fP este specificat ca \fBSIG_HOLD\fP, atunci un \fBsigset\fP() reușit returnează întotdeauna \fBSIG_HOLD\fP. În schimb, ar trebui să returneze dispoziția anterioară a semnalului (cu excepția cazului în care semnalul a fost blocat, caz în care ar trebui returnat \fBSIG_HOLD\fP). În al doilea rând, dacă semnalul este în prezent blocat, atunci valoarea returnată de un \fBsigset\fP() reușit ar trebui să fie \fBSIG_HOLD\fP. În schimb, este returnată dispoziția anterioară a semnalului. Aceste probleme au fost rezolvate începând cu glibc 2.5. .SH "CONSULTAȚI ȘI" \fBkill\fP(2), \fBpause\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigprocmask\fP(2), \fBraise\fP(3), \fBsigpause\fP(3), \fBsigvec\fP(3), \fBsignal\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .