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.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/>.
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> ».