es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿La función epoll_wait() devuelve los eventos uno por uno?

Digamos que agrego un socket a un epoll, esperando tanto eventos EPOLLIN como EPOLLOUT, algo así:

struct epoll_event event;
event.events = EPOLLIN | EPOLLOUT;
epoll_ctl(epfd, EPOLL_CTL_ADD, socket, &event);

Si el socket se vuelve legible y escribible, ¿necesitaría llamar a epoll_wait() dos veces para recibir ambos eventos, o devolverá un epoll_event con ambos campos establecidos? (Asumiendo que epoll_wait() se llama con un maxevents de 1.)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Si el socket se vuelve tanto legible como escribible, epoll_wait() devolverá un epoll_event con ambos campos de bits establecidos. Por lo tanto, no necesitarías llamar a epoll_wait() dos veces para recibir ambos eventos.

Comments are closed.