.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2002 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sigwaitinfo 2 "30 martie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME sigwaitinfo, sigtimedwait, rt_sigtimedwait \- așteaptă în mod sincron pentru semnalele din coada de așteptare .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP .PP \fBint sigwaitinfo(const sigset_t *restrict \fP\fIset\fP\fB,\fP \fB siginfo_t *_Nullable restrict \fP\fIinfo\fP\fB);\fP \fBint sigtimedwait(const sigset_t *restrict \fP\fIset\fP\fB,\fP \fB siginfo_t *_Nullable restrict \fP\fIinfo\fP\fB,\fP \fB const struct timespec *restrict \fP\fItimeout\fP\fB);\fP .fi .PP .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .PP \fBsigwaitinfo\fP(), \fBsigtimedwait\fP(): .nf _POSIX_C_SOURCE >= 199309L .fi .SH DESCRIERE \fBsigwaitinfo\fP() suspendă execuția firului apelant până când unul dintre semnalele din \fIset\fP este în așteptare; (dacă unul dintre semnalele din \fIset\fP este deja în așteptare pentru firul apelant, \fBsigwaitinfo\fP() returnează imediat). .PP \fBsigwaitinfo\fP() elimină semnalul din setul de semnale în așteptare și returnează numărul semnalului ca rezultat al funcției sale. Dacă argumentul \fIsiginfo\fP nu este NULL, atunci memoria tampon la care acesta indică este utilizată pentru a returna o structură de tip \fIsiginfo_t\fP (a se vedea \fBsigaction\fP(2)) care conține informații despre semnal. .PP În cazul în care mai multe semnale din \fIset\fP sunt în așteptare pentru apelant, semnalul care este recuperat de \fBsigwaitinfo\fP() este determinat în conformitate cu regulile obișnuite de ordonare; a se vedea \fBsignal\fP(7) pentru mai multe detalii. .PP \fBsigtimedwait\fP() funcționează exact în același mod ca și \fBsigwaitinfo\fP(), cu excepția faptului că are un argument suplimentar, \fItimeout\fP, care specifică intervalul pentru care firul este suspendat în așteptarea unui semnal; (acest interval va fi rotunjit la granularitatea (gradul de finețe al) ceasului de sistem, iar întârzierile de programare ale nucleului înseamnă că intervalul poate fi depășit cu o mică cantitate). Acest argument este o structură \fBtimespec\fP(3). .PP În cazul în care ambele câmpuri ale acestei structuri sunt specificate ca fiind 0, se efectuează un sondaj: \fBsigtimedwait\fP() revine imediat, fie cu informații despre un semnal care era în așteptare pentru apelant, fie cu o eroare dacă niciunul dintre semnalele din \fIset\fP nu era în așteptare. .SH "VALOAREA RETURNATĂ" În caz de succes, atât \fBsigwaitinfo\fP(), cât și \fBsigtimedwait\fP() returnează un număr de semnal (adică o valoare mai mare decât zero). În caz de eșec, ambele apeluri returnează \-1, cu \fIerrno\fP configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEAGAIN\fP Niciun semnal din \fIset\fP nu a devenit în așteptare în perioada \fItimeout\fP specificată la \fBsigtimedwait\fP(). .TP \fBEINTR\fP Așteptarea a fost întreruptă de un gestionar de semnal; a se vedea \fBsignal\fP(7); (acest gestionar era pentru un alt semnal decât unul dintre cele din \fIset\fP). .TP \fBEINVAL\fP \fItimeout\fP nu a fost valid. .SH VERSIUNI .SS "Diferențe între biblioteca C și nucleu" În Linux, \fBsigwaitinfo\fP() este o funcție de bibliotecă implementată pe lângă \fBsigtimedwait\fP(). .PP Funcțiile glibc pentru \fBsigwaitinfo\fP() și \fBsigtimedwait\fP() ignoră în tăcere încercările de a aștepta cele două semnale în timp real care sunt utilizate în mod intern de către implementarea de fire de execuție „NPTL threading”. A se vedea \fBnptl\fP(7) pentru detalii. .PP .\" Apelul de sistem original din Linux a fost numit \fBsigtimedwait\fP(). Cu toate acestea, odată cu adăugarea semnalelor în timp real în Linux 2.2, tipul de dimensiune fixă, pe 32 de biți \fIsigset_t\fP acceptat de acest apel de sistem nu mai era potrivit scopului. În consecință, a fost adăugat un nou apel de sistem, \fBrt_sigtimedwait\fP(), pentru a suporta un tip \fIsigset_t\fP mărit. Noul apel de sistem primește un al patrulea argument, \fIsize_t sigsetsize\fP, care specifică dimensiunea în octeți a setului de semnale din \fIset\fP. În prezent, acest argument trebuie să aibă valoarea \fIsizeof(sigset_t)\fP (în caz contrar, apare eroarea \fBEINVAL\fP). Funcția de învăluire glibc \fBsigtimedwait\fP() ne ascunde aceste detalii, apelând în mod transparent \fBrt_sigtimedwait\fP() atunci când nucleul o furnizează. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH NOTE În mod normal, programul apelant blochează semnalele din \fIset\fP printr\-un apel anterior la \fBsigprocmask\fP(2) (astfel încât dispoziția implicită pentru aceste semnale să nu apară dacă acestea devin în așteptare între apelurile succesive la \fBsigwaitinfo\fP() sau \fBsigtimedwait\fP()) și nu stabilește gestionari pentru aceste semnale. Într\-un program cu mai multe fire de execuție, semnalul trebuie blocat în toate firele de execuție, pentru a preveni ca semnalul să fie tratat în conformitate cu dispoziția sa implicită într\-un alt fir de execuție decât cel care apelează \fBsigwaitinfo\fP() sau \fBsigtimedwait\fP()). .PP Setul de semnale care este în așteptare pentru un anumit fir de execuție este uniunea dintre setul de semnale care este în așteptare în mod specific pentru acel fir de execuție și setul de semnale care este în așteptare pentru întregul proces (a se vedea \fBsignal\fP(7)). .PP Încercările de a aștepta \fBSIGKILL\fP și \fBSIGSTOP\fP sunt ignorate în tăcere. .PP În cazul în care mai multe fire ale unui proces sunt blocate în așteptarea aceluiași semnal (semnale) în \fBsigwaitinfo\fP() sau \fBsigtimedwait\fP(), atunci exact unul dintre fire va primi efectiv semnalul dacă acesta devine în așteptare pentru întregul proces; care dintre fire primește semnalul este nedeterminat. .PP \fBsigwaitinfo\fP() sau \fBsigtimedwait\fP(), nu pot fi utilizate pentru a primi semnale care sunt generate în mod sincron, cum ar fi semnalul \fBSIGSEGV\fP care rezultă din accesarea unei adrese de memorie invalidă sau semnalul \fBSIGFPE\fP care rezultă dintr\-o eroare aritmetică. Astfel de semnale pot fi recepționate numai prin intermediul unui gestionar de semnal. .PP POSIX lasă nespecificată semnificația unei valori NULL pentru argumentul \fItimeout\fP din \fBsigtimedwait\fP(), permițând posibilitatea ca acest lucru să aibă aceeași semnificație ca un apel la \fBsigwaitinfo\fP() și, într\-adevăr, acest lucru este ceea ce se face sub Linux. .SH "CONSULTAȚI ȘI" \fBkill\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigwait\fP(3), \fBtimespec\fP(3), \fBsignal\fP(7), \fBtime\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 .