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 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(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.
ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
CONFORMITÉ
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.
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.07 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 [AT] laposte.net>, Thierry Vignaud <tvignaud [AT] mandriva.com>, François Micaux, Alain Portal <aportal [AT] univ-montp2.fr>, Jean-Philippe Guérard <fevrier [AT] tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon [AT] wanadoo.fr>, Julien Cristau <jcristau [AT] debian.org>, Thomas Huriaux <thomas.huriaux [AT] gmail.com>, Nicolas François <nicolas.francois [AT] centraliens.net>, Florentin Duneau <fduneau [AT] gmail.com>, Simon Paillard <simon.paillard [AT] resel.fr>, Denis Barbier <barbier [AT] debian.org> et David Prévot <david [AT] tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 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 [AT] lists.org>.