Provided by: manpages-ro-dev_4.21.0-2_all bug

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țăAtributValoare │
       ├───────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │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⟩.