Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

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

SYNOPSIS

       #include <aio.h>

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

       Éditer les liens avec -lrt.

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.

       If  CLOCK_MONOTONIC  is supported, this clock is used to measure the timeout interval (see
       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 │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

CONFORMITÉ

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

       POSIX doesn't specify the parameters to be restrict; that is specific to 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)

COLOPHON

       Cette  page  fait partie de la publication 5.13 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de  cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

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> et David Prévot <david@tilapin.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⟩.

                                           22 mars 2021                            AIO_SUSPEND(3)