aio_suspend(3) Library Functions Manual aio_suspend(3)

aio_suspend - așteaptă o operație de In/Ieș asincronă sau expirarea timpului de așteptare

Biblioteca de timp real (librt, -lrt)

#include <aio.h>
int aio_suspend(const struct aiocb *const aiocb_list[], int nitems,
                const struct timespec *restrict timeout);

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)).

Î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-IEȘIRE

Apelul s-a încheiat înainte ca oricare dintre operațiile indicate să se fi încheiat.
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).
aio_suspend() nu este implementată.

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

POSIX.1-2008.

glibc 2.1. POSIX.1-2001.

POSIX nu specifică faptul că parametrii trebuie să fie restrict; acest lucru este specific pentru glibc.

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.

Implementarea glibc a aio_suspend() nu este „async-signal-safe”, încălcând cerințele din POSIX.1.

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)

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