Provided by: manpages-ro-dev_4.21.0-2_all
NUME
aio_suspend - așteaptă o operație de In/Ieș asincronă sau expirarea timpului de așteptare
BIBLIOTECA
Biblioteca de timp real (librt, -lrt)
REZUMAT
#include <aio.h> int aio_suspend(const struct aiocb *const aiocb_list[], int nitems, const struct timespec *restrict timeout);
DESCRIERE
Funcția aio_suspend() suspendă firul apelant până când are loc una dintre următoarele situații: • Una sau mai multe dintre cererile de In/Ieș asincrone din lista aiocb_list au fost finalizate. • Un semnal este transmis. • timeout nu este NULL și intervalul de timp specificat a trecut; (pentru detalii despre structura timespec, a se vedea nanosleep(2)). Argumentul nitems specifică numărul de elemente din aiocb_list. Fiecare element din lista indicată de aiocb_list trebuie să fie fie NULL (și atunci este ignorat), sau un indicator la un bloc de control pe care In/Ieș a fost inițiată folosind aio_read(3), aio_write(3), sau lio_listio(3); (a se vedea aio(7) pentru o descriere a structurii aiocb). Dacă este acceptat CLOCK_MONOTONIC, acest ceas este utilizat pentru a măsura intervalul de timp de așteptare (a se vedea clock_gettime(2)).
VALOAREA RETURNATĂ
În cazul în care această funcție returnează după finalizarea uneia dintre cererile de In/Ieș specificate în aiocb_list, se returnează 0. În caz contrar, se returnează -1, iar errno este configurată pentru a indica eroarea.
ERORI
EAGAIN Apelul s-a încheiat înainte ca oricare dintre operațiile indicate să se fi încheiat. EINTR Apelul a fost încheiat printr-un semnal (posibil semnalul de finalizare a uneia dintre operațiile pe care le așteptam); a se vedea signal(7). ENOSYS aio_suspend() nu este implementată.
VERSIUNI
Funcția aio_suspend() este disponibilă începând cu glibc 2.1.
ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7). ┌───────────────────────────────────────────────────────────┬───────────────────┬─────────┐ │Interfață │ Atribut │ Valoare │ ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤ │aio_suspend() │ Siguranța firelor │ MT-Safe │ └───────────────────────────────────────────────────────────┴───────────────────┴─────────┘
STANDARDE
POSIX.1-2001, POSIX.1-2008. POSIX nu specifică faptul că parametrii trebuie să fie restrict; acest lucru este specific pentru glibc.
NOTE
Se poate realiza interogarea prin utilizarea unui timeout non-NULL care specifică un interval de timp zero. Dacă una sau mai multe dintre operațiile de In/Ieș asincrone specificate în aiocb_list s-au încheiat deja în momentul apelului către aio_suspend(), atunci apelul returnează imediat. Pentru a determina ce operații de In/Ieș au fost finalizate după o returnare cu succes de la aio_suspend(), utilizați aio_error(3) pentru a scana lista de structuri aiocb indicate de aiocb_list.
ERORI
Implementarea glibc a aio_suspend() nu este „async-signal-safe”, încălcând cerințele din POSIX.1.
CONSULTAȚI ȘI
aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3), aio_return(3), aio_write(3), lio_listio(3), aio(7), time(7)
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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.