Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
epoll_wait, epoll_pwait - Attendre un evenement sur un descripteur
epoll
SYNOPSIS
#include <sys/epoll.h>
int epoll_wait(int epfd, struct epoll_event *events,
int maxevents, int timeout);
int epoll_pwait(int epfd, struct epoll_event *events,
int maxevents, int timeout,
const sigset_t *sigmask);
DESCRIPTION
L'appel systeme epoll_wait() attend un evenement sur l'instance epoll
indiquee par le descripteur epfd. La zone memoire pointee par events
contiendra les evenements disponibles pour l'appelant. Un maximum de
maxevents evenements sont renvoyes par epoll_wait(). Le parametre
maxevents doit etre superieur a zero.
L'appel systeme attend pendant une duree maximale de timeout
millisecondes. En specifiant -1 comme valeur de timeout, epoll_wait()
attendra indefiniment, alors qu'un timeout nul fera revenir
epoll_wait() immediatement, meme si aucun evenement n'est disponible
(avec un code de retour nul).
La structure epoll_event est definie ainsi :
typedef union epoll_data {
void *ptr;
int fd;
uint32_t u32;
uint64_t u64;
} epoll_data_t;
struct epoll_event {
uint32_t events; /* Evenements epoll */
epoll_data_t data; /* Variable utilisateur */
};
Le champ data de la structure renvoyee contiendra les memes donnees que
lors de l'appel epoll_ctl(2) (EPOLL_CTL_ADD, EPOLL_CTL_MOD) tandis que
le champ events contiendra le masque de bit des evenements disponibles.
epoll_pwait()
La relation entre epoll_wait() et epoll_pwait() est similaire a celle
entre select(2) et pselect(2) : de meme que pselect(2), epoll_pwait()
permet a une application d'attendre de facon sure qu'un descripteur de
fichier soit pret ou qu'un signal arrive.
L'appel a epoll_pwait() suivant :
ready = epoll_pwait(epfd, &events, maxevents, timeout, &sigmask);
est equivalent a executer de facon atomique les appels suivants :
sigset_t origmask;
sigprocmask(SIG_SETMASK, &sigmask, &origmask);
ready = epoll_wait(epfd, &events, maxevents, timeout);
sigprocmask(SIG_SETMASK, &origmask, NULL);
Le parametre sigmask peut valoir NULL, auquel cas, epoll_pwait() est
equivalent a epoll_wait().
VALEUR RENVOY'EE
Lorsqu'il reussit, l'appel epoll_wait() renvoie le nombre de
descripteurs prets pour les E/S demandees, ou zero si aucun descripteur
n'est devenu pret pendant la duree timeout millisecondes. Si une erreur
se produit, epoll_wait() renvoie -1 et errno contient le code
approprie.
ERREURS
EBADF epfd n'est pas un descripteur de fichier valable.
EFAULT La zone memoire pointee par events n'est pas accessible en
ecriture.
EINTR L'appel a ete interrompu par un signal avant qu'aucun des
evenements demandes n'ait lieu ou que la temporisation timeout
n'expire ; consultez signal(7).
EINVAL Le descripteur epfd fourni n'est pas un descripteur epoll, ou le
parametre maxevents est inferieur ou egal a zero.
VERSIONS
epoll_pwait() a ete ajoute au noyau Linux dans sa version 2.6.19.
Le support pour epoll_pwait() est fourni a partir de la glibc 2.6.
CONFORMIT'E
epoll_wait() est specifique a Linux, et a ete introduit dans le noyau
2.5.44.
VOIR AUSSI
epoll_create(2), epoll_ctl(2), epoll(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.