Provided by: manpages-fr-dev_4.15.0-9_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() et epoll_create1() sont spécifiques à 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.13 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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.