Provided by: manpages-fr-dev_4.19.0-7_all bug

NOM

       aio_suspend - Attendre une opération d'E/S asynchrone ou un délai

BIBLIOTHÈQUE

       Bibliothèque de temps réel (librt, -lrt)

SYNOPSIS

       #include <aio.h>

       int aio_suspend(const struct aiocb *const aiocb_list[], int nitems,
                       const struct timespec *restrict timeout);

DESCRIPTION

       La  fonction  aio_suspend()  suspend  le  processus léger appelant jusqu'à ce que l'un des
       événements suivants se produise :

       •  Une ou plusieurs requêtes asynchrones d'E/S de la liste aiocb_list se sont terminées.

       •  Un signal est reçu.

       •  timeout  est  non  NULL  et  l'intervalle  de  temps  spécifié  a   expiré.   Consultez
          nanospleep(2) pour plus de détails sur la structure timespec.

       Le  paramètre  nitems  spécifie le nombre d'éléments dans aiocb_list. Chaque élément de la
       liste pointée par aiocb_list doit être soit NULL (auquel  cas  il  est  ignoré),  soit  un
       pointeur  vers  un  bloc  de  contrôle  sur  lequel  a  été  initiée  une E/S en utilisant
       aio_read(3), aio_write(3), ou lio_listio(3). Consultez aio(7) pour une description  de  la
       structure aiocb.

       Si  CLOCK_MONOTONIC  est  géré,  cette  horloge  est utilisée pour mesurer l'intervalle de
       dépassement du délai (consultez clock_gettime(2)).

VALEUR RENVOYÉE

       Si cette fonction se termine après l'achèvement de l'une des requêtes d'E/S indiquées dans
       aiocb_list, elle renvoie 0. Autrement, elle renvoie -1 et définit errno en conséquence.

ERREURS

       EAGAIN L'appel  s'est  achevé  par  un  dépassement  de  délai  avant  qu'au moins une des
              opérations indiquées ne soit terminée.

       EINTR  L'appel s'est achevé par un signal ; consultez signal(7). (Il est possible  que  ce
              soit un signal d'achèvement de l'une des opérations que l'on attendait).

       ENOSYS aio_suspend() n'est pas implémenté.

VERSIONS

       La fonction aio_suspend() est disponible depuis la glibc 2.1.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │aio_suspend()                                           │ Sécurité des threads │ MT-Safe │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       POSIX.1-2001, POSIX.1-2008.

       POSIX n'indique pas de paramètre à restreindre, c'est spécifique à la glibc.

NOTES

       Il  est  possible  d'effectuer  une  scrutation  en utilisant un délai timeout non nul qui
       spécifie un intervalle de temps nul.

       Si une ou plusieurs opérations d'E/S asynchrones spécifiées dans aiocb_list se  sont  déjà
       terminées au moment de l'appel à aio_suspend(), alors l'appel renvoie immédiatement.

       Pour  déterminer quelles opérations d'E/S se sont terminées après un retour avec succès de
       aio_suspend(), utilisez aio_error(3) pour parcourir  les  structures  aiocb  pointées  par
       aiocb_list.

BOGUES

       L'implémentation  glibc  de  aio_suspend()  n'est  pas  sûre  dans  un  contexte de signal
       asynchrone (« async-signal-safe »), en violation des prérequis de POSIX.1.

VOIR AUSSI

       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)

TRADUCTION

       La  traduction  française  de  cette  page  de  manuel  a  été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <stephan.rafin@laposte.net>,  Thierry
       Vignaud  <tvignaud@mandriva.com>,  François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe   Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)    <jean-
       luc.coulon@wanadoo.fr>,    Julien    Cristau    <jcristau@debian.org>,    Thomas   Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau  <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>   et   Thomas   Vincent
       <tvincent@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.