epoll_create(2) System Calls Manual epoll_create(2) NOM epoll_create, epoll_create1 - Ouvrir un descripteur de fichier epoll BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int epoll_create(int size); int epoll_create1(int flags); DESCRIPTION epoll_create() cree une nouvelle instance epoll(7). Depuis Linux 2.6.8, le parametre size est ignore, mais doit etre strictement positif. Consultez HISTORIQUE. epoll_create() renvoie un descripteur de fichier referencant la nouvelle instance epoll. Ce descripteur de fichier est utilise pour tous les appels a l'interface epoll. Lorsqu'il n'est plus necessaire, le descripteur de fichier renvoye par epoll_create() devrait etre ferme avec close(2). Lorsque tous les descripteurs de fichier faisant reference a une instance epoll sont fermes, le noyau detruit l'instance et libere les ressources associees pour une nouvelle utilisation. epoll_create1() Si flags vaut 0, alors, en plus du fait que le parametre obsolete size n'est plus precise, epoll_create1() est identique a epoll_create(). La valeur suivante peut etre incluse dans flags pour obtenir un comportement different : 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 etre utile. VALEUR RENVOYEE S'il reussissent, ces appels systeme renvoient un descripteur de fichier (un entier non negatif). En cas d'erreur, ils renvoient -1 et positionnent errno pour indiquer l'erreur. ERREURS EINVAL size est negatif ou nul. EINVAL (epoll_create1()) flags contient une valeur incorrecte. EMFILE La limite du nombre de descripteurs de fichiers par processus a ete atteinte. ENFILE La limite du nombre total de fichiers ouverts pour le systeme entier a ete atteinte. ENOMEM Il n'y a pas assez de memoire pour que le noyau cree les objets necessaires. STANDARDS Linux. HISTORIQUE epoll_create() Linux 2.6, glibc 2.3.2. epoll_create1() Linux 2.6.27, glibc 2.9. Dans l'implementation initiale d'epoll_create(), le parametre size informait le noyau du nombre de descripteurs de fichier que l'appelant s'attend a ajouter a l'instance epoll. Le noyau utilisait ce renseignement comme indice pour la quantite d'espace a allouer initialement dans les structures de donnees internes decrivant les evenements (si necessaire, le noyau allouerait plus d'espace si l'utilisation de l'appelant depasse l'indice donne en size). Maintenant, cet indice n'est plus necessaire (le noyau dimensionne dynamiquement les structures de donnees sans avoir besoin de cet indice), mais size doit toujours etre strictement positif, par compatibilite ascendante, si de nouvelles applications epoll sont executees sur d'anciens noyaux. Avant Linux 2.6.29, un parametre /proc/sys/fs/epoll/max_user_instances du noyau limitait les epoll actif pour chaque UID reel et faisait echouer epoll_create() lors d'un depassement, avec un message EMFILE. VOIR AUSSI close(2), epoll_ctl(2), epoll_wait(2), epoll(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 epoll_create(2)