dwww Home | Manual pages | Find package

aio_suspend(3)             Library Functions Manual             aio_suspend(3)

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 times-
          pec.

       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  ren-
       voie -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  ti-
       meout 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 re-
       tour 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ére-
       quis 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  Chris-
       tophe  Blaess  <https://www.blaess.fr/christophe/>, Stéphan Rafin <ste-
       phan.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.cou-
       lon@wanadoo.fr>,  Julien  Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François  <nicolas.francois@centra-
       liens.net>,  Florentin  Duneau <fduneau@gmail.com>, Simon Paillard <si-
       mon.paillard@resel.enst-bretagne.fr>,   Denis   Barbier    <barbier@de-
       bian.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⟩.

Pages du manuel de Linux 6.03   5 février 2023                  aio_suspend(3)

Generated by dwww version 1.15 on Sat Jun 29 01:46:35 CEST 2024.