AIO_CANCEL64 |
AIO : Annuler le 64 |
| GNU C |
aio.h |
Syntaxe
|
int aio_cancel64(int fildes, struct aiocb64 *aiocbp);
|
Paramètres
| Nom |
Description |
| fildes |
Ce paramètre représente le descripteur de fichier lié à la requête d'entrée/sortie asynchrone à annuler. Ce descripteur identifie le fichier concerné. |
| aiocbp |
Ce paramètre est un pointeur vers une structure aiocb64, qui est la version 64 bits de la structure de contrôle d'entrée/sortie désynchronisée. Ce paramètre permet de spécifier la requête précise à annuler. Il peut aussi être NULL pour annuler toutes les requêtes associées au descripteur fildes. |
Description
Cette fonction permet d'annuler la synchronisation d'une requête d'entrée/sortie en temps réel en 64 bits.
Remarques
- La fonction aio_cancel64 permet d'annuler une ou plusieurs requêtes d'entrée/sortie asynchrone en cours, en version 64 bits. Elle est utile lorsque l'application
souhaite libérer rapidement des ressources ou interrompre un traitement. Elle fait partie des fonctions avancées d'entrée/sortie non bloquante fournies par POSIX.
- Le paramètre fildes désigne le descripteur de fichier lié aux requêtes à annuler. Il permet à la fonction de repérer les opérations désynchronisées associées
à ce fichier. Ce lien est indispensable pour filtrer les requêtes ciblées.
- Le paramètre aiocbp permet de spécifier une requête particulière à annuler via un pointeur vers une structure aiocb64. S'il est défini, seule cette requête
sera annulée. S'il vaut NULL, toutes les requêtes associées à fildes seront visées par l'annulation.
- aio_cancel64 retourne une valeur indiquant le résultat de la tentative d'annulation. Elle peut être AIO_CANCELED, AIO_NOTCANCELED ou AIO_ALLDONE. Cela permet de
savoir si l'annulation a réussi, partiellement échoué, ou si la requête était déjà terminée.
- L'annulation n'est pas toujours garantie : une requête déjà en cours d'exécution peut ne pas être stoppée à temps. Dans ce cas, le système retourne AIO_NOTCANCELED,
signalant que la requête poursuit son traitement. Il est alors recommandé de vérifier l'état via aio_error64.
- La version 64 bits permet de travailler avec des fichiers de grande taille ou des systèmes à architecture étendue. Elle est compatible avec les autres fonctions
comme aio_read64 ou aio_fsync64. C'est la variante à privilégier pour les systèmes modernes manipulant des volumes importants.
- L'appel à aio_cancel64 ne bloque pas : il tente l'annulation et retourne immédiatement le statut de l'opération. Cette approche permet de gérer efficacement
plusieurs requêtes désynchronisées sans ralentir l'application. Elle est particulièrement adaptée aux serveurs ou systèmes embarqués en temps réel.
- Cette fonction est précieuse pour construire des applications robustes capables de réagir dynamiquement à des changements d'état. Elle offre un mécanisme de contrôle
souple sur les entrées/sorties, en permettant de révoquer des opérations inutiles ou obsolètes. Son bon usage suppose cependant une gestion rigoureuse des requêtes et
de leur cycle de vie.
Dernière mise à jour : Mardi, le 19 Mai 2020