AIO_SUSPEND(3)

NOM
aio_suspend - Attendre une opération d'E/S asynchrone ou un dépassement de temps

SYNOPSIS

#include <aio.h>

int aio_suspend(const struct aiocb * const cblist[],
                int n, const struct timespec *timeout);

Utilisez
-lrt
à l'édition de liens.

DESCRIPTION
La fonction aio_suspend() suspend le processus appelant jusqu'à ce qu'au moins une des requêtes d'E/S asynchrones de la liste cblist de longueur n soit achevée, qu'un signal ait été délivré, ou que le délai timeout ne soit pas NULL et que l'intervalle de temps qu'il indique soit dépassé.

Chaque élément de la liste 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).

Si CLOCK_MONOTONIC est géré, cette horloge est utilisée pour mesurer l'intervalle de dépassement de délai.

VALEUR RENVOYÉE
Si cette fonction se termine après l'achèvement de l'une des requêtes indiquées, elle renvoie 0. Autrement, elle renvoie -1 et renseigne 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 ne soit terminée.

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

CONFORMITÉ
POSIX.1-2001.

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

VOIR AUSSI
aio_cancel(3), aio_error(3), aio_fsync(3), aio_read(3), aio_return(3), aio_write(3), time(7)

TRADUCTION

Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 6 juillet 2005 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 aio_suspend ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.