plucky (3) aio_suspend.3.gz

Provided by: manpages-fr-dev_4.25.1-1_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é.

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-2008.

HISTORIQUE

       glibc 2.1. POSIX.1-2001.

       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⟩.