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 *timeout);
Effectuez l'édition des liens avec l'option -lrt.
DESCRIPTION¶
La fonction
aio_suspend() suspend le processus léger appelant tant
que l'un des événements suivants ne se produisent :
- *
- 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(3)).
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.
POSIX.1-2001, POSIX.1-2008.
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.
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 3.44 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
<
http://www.kernel.org/doc/man-pages/>.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Alain Portal <
http://manpagesfr.free.fr/> (2004-2006). Florentin
Duneau et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document
en utilisant la commande «
man -L C
<section> <page_de_man> ».