Provided by: manpages-fr-dev_4.23.1-1_all bug

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), 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  ⟨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⟩.