epoll_create
Table des matières
Retour à l'index
NOM
epoll_create, epoll_create1 - Ouvrir un descripteur de fichier epoll
BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)
SYNOPSIS
#include <sys/epoll.h>
int epoll_create(int size);
int epoll_create1(int flags);
DESCRIPTION
epoll_create() crée une nouvelle instance epoll(7). Depuis
Linux 2.6.8, le paramètre size est ignoré, mais doit être strictement
positif. Consultez HISTORIQUE.
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éussissent, ces appels système renvoient un descripteur de fichier (un
entier non négatif). En cas d'erreur, ils renvoient -1 et positionnent
errno pour indiquer l'erreur.
ERREURS
- EINVAL
-
size est négatif ou nul.
- EINVAL
-
(epoll_create1()) flags contient une valeur incorrecte.
- EMFILE
-
La limite du nombre de descripteurs de fichiers par processus a été
atteinte.
- ENFILE
-
La limite du nombre total de fichiers ouverts pour le système entier a été
atteinte.
- ENOMEM
-
Il n'y a pas assez de mémoire pour que le noyau crée les objets nécessaires.
STANDARDS
Linux.
HISTORIQUE
- epoll_create()
-
Linux 2.6, glibc 2.3.2.
- epoll_create1()
-
Linux 2.6.27, glibc 2.9.
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.
Avant Linux 2.6.29, un paramètre /proc/sys/fs/epoll/max_user_instances du
noyau limitait les epoll actif pour chaque UID réel et faisait échouer
epoll_create() lors d'un dépassement, avec un message EMFILE.
VOIR AUSSI
close(2), epoll_ctl(2), epoll_wait(2), ioctl_eventpoll(2),
epoll(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
Jean-Philippe MENGUAL <jpmengual@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
-
- epoll_create1()
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- STANDARDS
-
- HISTORIQUE
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:01 GMT, September 19, 2025