siginterrupt(3) Library Functions Manual siginterrupt(3)

siginterrupt - permite semnalelor să întrerupă apelurile de sistem

Biblioteca C standard (libc, -lc)

#include <signal.h>
[[deprecated]] int siginterrupt(int sig, int flag);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

siginterrupt():

    _XOPEN_SOURCE >= 500
        || /* Începând cu glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
        || /* glibc <= 2.19: */ _BSD_SOURCE

Funcția siginterrupt() modifică comportamentul de repornire atunci când un apel de sistem este întrerupt de semnalul sig. Dacă argumentul flag este false (0), atunci apelurile de sistem vor fi repornite dacă sunt întrerupte de semnalul sig specificat. Acesta este comportamentul implicit în Linux.

Dacă argumentul flag este adevărat (1) și nu au fost transferate date, atunci un apel de sistem întrerupt de semnalul sig va returna -1, iar errno va fi stabilită la EINTR.

Dacă argumentul flag este adevărat (1) și transferul de date a început, atunci apelul de sistem va fi întrerupt și va returna cantitatea reală de date transferate.

Funcția siginterrupt() returnează 0 în caz de succes. Ea returnează -1 dacă numărul semnalului sig nu este valid, cu errno configurată pentru a indica eroarea.

Numărul semnalului specificat nu este valid.

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

Interfață Atribut Valoare
siginterrupt() Siguranța firelor MT-Unsafe const:sigintr

POSIX.1-2008.

4.3BSD, POSIX.1-2001. Învechită în POSIX.1-2008, recomandându-se în schimb utilizarea sigaction(2) cu fanionul SA_RESTART.

signal(2)

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.

31 octombrie 2023 Pagini de manual de Linux 6.06