Man page - epoll_create1(2)

Packages contains this manual

Available languages:

en fr ja ru ro

Manual

epoll_create

NOM
BIBLIOTHÈQUE
SYNOPSIS
DESCRIPTION
epoll_create1()
VALEUR RENVOYÉE
ERREURS
STANDARDS
HISTORIQUE
VOIR AUSSI
TRADUCTION

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