aio_suspend(3) | Library Functions Manual | aio_suspend(3) |
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)
SINOPSIS
#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-IEȘIRE
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-2008.
ISTORIC
glibc 2.1. POSIX.1-2001.
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 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 |