Provided by: manpages-fr-dev_4.13-4_all bug

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  nouvelle  instance epoll(7). Depuis Linux 2.6.8, le paramètre size est ignoré,
       mais doit être strictement positif. Consultez NOTES.

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

       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.

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.

CONFORMITÉ

       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 5.10 du projet man-pages Linux. Une description du projet et des
       instructions  pour  signaler  des  anomalies et la dernière version de cette page peuvent être trouvées à
       l'adresse https://www.kernel.org/doc/man-pages/.

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  à
       debian-l10n-french@lists.debian.org.

Linux                                             11 avril 2020                                  EPOLL_CREATE(2)