


EPOLL_WAIT(2)       Linux Programmer's Manual       EPOLL_WAIT(2)


NAME
       epoll_wait  -  wait  for  an  I/O  event  on an epoll file
       descriptor

SYNOPSIS
       #include <sys/epoll.h>

       int epoll_wait(int epfd, struct epoll_event * events,  int
       maxevents, int timeout)

DESCRIPTION
       Wait  for  events  on the epoll file descriptor epfd for a
       maximum time of  timeout  milliseconds.  The  memory  area
       pointed  by  events  will  contain the events that will be
       available  for  the  caller.   Up  to  maxevents  will  be
       returned  by  epoll_wait(2).  The maxevents parameter must
       be greater than zero. Specifying a timeout of -1 will make
       epoll_wait(2) wait indefinitely. The struct epoll_event is
       defined as :


            typedef union epoll_data {
                 void *ptr;
                 int fd;
                 __uint32_t u32;
                 __uint64_t u64;
            } epoll_data_t;

            struct epoll_event {
                 __uint32_t events;  /* Epoll events */
                 epoll_data_t data;  /* User data variable */
            };


       The data of each returned structure will contain the  same
       data     the     user     set    with    a    epoll_ctl(2)
       (EPOLL_CTL_ADD,EPOLL_CTL_MOD) while the events member will
       contain the returned event bit field.

RETURN VALUE
       On  success,  epoll_wait(2)  returns  the  number  of file
       descriptors ready for the requested I/O,  or  zero  if  no
       file  descriptor became ready during the requested timeout
       milliseconds.  On error, it returns -1 and  errno  is  set
       appropriately.

ERRORS
       EBADF  epfd is not a valid file descriptor.

       EINVAL The supplied file descriptor, epfd, is not an epoll
              file descriptor. Or,  the  maxevents  parameter  is
              less or equal to zero.

       EFAULT The memory area pointed to by events is not accesi-
              ble with write permissions.

CONFORMING TO
       epoll_wait(2) is a new  API  introduced  in  Linux  kernel
       2.5.44.

SEE ALSO
       epoll(4) epoll_create(2) epoll_ctl(2)




Linux                    23 October 2002                        1



























































