NOM¶
epoll_create, epoll_create1 - Ouvrir un descripteur de fichier epoll
SYNOPSIS¶
#include <sys/epoll.h>
int epoll_create(int size);
int epoll_create1(int flags);
DESCRIPTION¶
epoll_create() crée une instance
epoll(7). Depuis
Linux 2.6.8, le paramètre
size est ignoré, mais
doit être strictement positif. Consultez
NOTES ci-dessous.
epoll_create() renvoie un descripteur de fichier
référençant la nouvelle instance epoll. Ce descripteur de
fichier est utilisé pour tous les appels à l'interface
epoll. Lorsqu'il n'est plus nécessaire, le descripteur de
fichier renvoyé par
epoll_create() devrait être
fermé avec
close(2). Lorsque tous les descripteurs de fichier
faisant référence à une instance epoll sont
fermés, le noyau détruit l'instance et libère les
ressources associées pour une nouvelle utilisation.
epoll_create1()¶
Si
flags vaut 0, alors, en plus du fait que le paramètre
obsolète
size n'est plus précisé,
epoll_create1() est identique à
epoll_create(). La valeur
suivante peut être incluse dans
flags pour obtenir un
comportement différent :
- EPOLL_CLOEXEC
- Placer l'attribut « close-on-exec »
(FD_CLOEXEC) sur le nouveau descripteur de fichier. Consultez la
description de l'attribut O_CLOEXEC dans open(2) pour savoir
pourquoi cela peut être utile.
VALEUR RENVOYÉE¶
S'il réussit, ces appels système renvoient un descripteur de
fichier positif. En cas d'erreur, ils renvoient -1 et remplissent
errno
avec la valeur d'erreur.
ERREURS¶
- EINVAL
- size est négatif ou nul.
- EINVAL
- (epoll_create1()) flags contient une valeur incorrecte.
- EMFILE
- La limite par utilisateur du nombre d'instances epoll imposée par
/proc/sys/fs/epoll/max_user_instances a été atteinte.
Consultez epoll(7) pour plus de détails.
- ENFILE
- La limite du nombre total de fichiers ouverts sur le système a
été atteinte.
- ENOMEM
- Il n'y a pas assez de mémoire pour que le noyau crée les
objets nécessaires.
VERSIONS¶
epoll_create a été introduite dans le noyau
Linux 2.6. La prise en charge par la glibc a été
ajoutée dans la version 2.3.2.
epoll_create1 a été introduite dans le noyau
Linux 2.6.27. La prise en charge par la glibc a été
ajoutée dans la version 2.9.
epoll_create() est spécifique à Linux.
NOTES¶
Dans l'implémentation initiale d'
epoll_create(), le
paramètre
size informait le noyau du nombre de descripteurs de
fichier que l'appelant s'attend à ajouter à l'instance
epoll. Le noyau utilisait ce renseignement comme indice pour la
quantité d'espace à allouer initialement dans les structures de
données internes décrivant les événements (si
nécessaire, le noyau allouerait plus d'espace si l'utilisation de
l'appelant dépasse l'indice donné en
size). Maintenant,
cet indice n'est plus nécessaire (le noyau dimensionne dynamiquement
les structures de données sans avoir besoin de cet indice), mais
size doit toujours être strictement positif, par
compatibilité ascendante, si de nouvelles applications
epoll
sont exécutées sur d'anciens noyaux.
VOIR AUSSI¶
close(2),
epoll_ctl(2),
epoll_wait(2),
epoll(7)
COLOPHON¶
Cette page fait partie de la publication 3.65 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/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Julien Cristau 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> ».