aio_suspend
Section: C Library Functions (3)
Updated: 5 février 2023
Index
Return to Main Contents
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é.
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).
Interface | Attribut | Valeur
|
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 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
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- VERSIONS
-
- ATTRIBUTS
-
- STANDARDS
-
- NOTES
-
- BOGUES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 13:47:13 GMT, May 22, 2024