POLL(2)

"

NOMBRE
poll - espera a cualquier evento en un descriptor de fichero

SINTAXIS
#include <linux/asm/poll.h>

int poll(struct pollfd *ufds, unsigned int nfds, int timeout);

DESCRIPCION
poll es una variacion del tipo select. Especifica un vector de nfds estructuras del tipo
        struct pollfd {
                int fd;
                short events;
                short revents;
        };
y un tiempo (contador) timeout en milisegundos. (Un valor negativo indica un tiempo infinito.) El campo events es un parametro de entrada, una mascara de bits que especifica los eventos en lo s que la aplicacion esta interesada. El campo revents es un parametro de salida, completado por el nucleo con los eventos que han ocur rido, del tipo solicitado o de uno de los tipos POLLERR o POLLHUP. Los bits posibles en esta mascara estan definidos en <linux/asm/poll.h>:
        #define POLLIN          0x0001
        #define POLLPRI         0x0002
        #define POLLOUT         0x0004
        #define POLLERR         0x0008
        #define POLLHUP         0x0010
        #define POLLNVAL        0x0020
        #define POLLRDNORM      0x0040
        #define POLLRDBAND      0x0080
        #define POLLWRNORM      0x0100
        #define POLLWRBAND      0x0200
        #define POLLMSG         0x0400

VALOR DEVUELTO
Si todo es correcto, retorna el valor 0. En caso de error, -1 es devuelto y el valor errno es fijado apropiadamente.

ERRORES

ENOMEM
    No hay espacio disponible para ubicar la tabla de descriptores del fichero.

EFAULT
    El vector pasado como argumento no esta ubicado en el espacio de direcciones del
     programa invocador.

EINTR
    Ocurrio una seqal (signal) antes de cualquier evento.

COMPATIBLE CON
Esta llamada es especifica de Linux.

VER TAMBIEN
select(2)