Scroll to navigation

sigwait(3) Library Functions Manual sigwait(3)

NUME

sigwait - așteaptă un semnal

BIBLIOTECA

Biblioteca C standard (libc, -lc)

SINOPSIS

#include <signal.h>
int sigwait(const sigset_t *restrict set, int *restrict sig);

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

sigwait():


Începând cu glibc 2.26:
_POSIX_C_SOURCE >= 199506L
glibc 2.25 și versiunile anterioare:
_POSIX_C_SOURCE

DESCRIERE

Funcția sigwait() suspendă execuția firului apelant până când unul dintre semnalele specificate în setul de semnale set devine în așteptare. Pentru ca un semnal să devină în așteptare, acesta trebuie mai întâi să fie blocat cu sigprocmask(2). Funcția acceptă semnalul (îl elimină din lista de semnale în așteptare) și returnează numărul semnalului din sig.

Funcționarea lui sigwait() este aceeași cu cea a lui sigwaitinfo(2), cu excepția faptului că:

sigwait() returnează doar numărul semnalului, în loc de o structură siginfo_t care descrie semnalul.
Valorile de returnare ale celor două funcții sunt diferite.

VALOAREA RETURNATĂ

În caz de succes, sigwait() returnează 0. În caz de eroare, returnează un număr pozitiv de eroare (enumerat în ERORI).

ERORI-IEȘIRE

set conține un număr de semnal nevalid.

ATRIBUTE

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

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

VERSIUNI

sigwait() este implementată folosind sigtimedwait(2); consultați secțiunea NOTE.

Implementarea glibc a sigwait() ignoră în tăcere încercările de a aștepta cele două semnale în timp real care sunt utilizate intern de către implementarea NPTL. A se vedea nptl(7) pentru detalii.

STANDARDE

POSIX.1-2008.

ISTORIC

POSIX.1-2001.

EXEMPLE

A se vedea pthread_sigmask(3).

CONSULTAȚI ȘI

sigaction(2), signalfd(2), sigpending(2), sigsuspend(2), sigwaitinfo(2), sigsetops(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.

2 mai 2024 Pagini de manual de Linux 6.8