¿Es epoll seguro para subprocesos?
multithreading sockets (1)
Hay dos funciones en epoll:
- epoll_ctl
- epoll_wait
¿Están seguros para subprocesos cuando uso el mismo epoll_fd?
¿Qué pasará si un hilo llama a epoll_wait y otros llaman a epoll_ctl al mismo tiempo?
Es seguro para subprocesos, pero no hay mucha documentación que lo establezca explícitamente; consulte http://linux.derkeiler.com/Mailing-Lists/Kernel/2006-03/msg00084.html
Por cierto, también puede tener múltiples hilos esperando en un solo epoll_fd, pero en ese caso puede ser un poco complicado (es decir, es posible que desee usar edge-triggered (EPOLLET) o el modo oneshot (EPOLLONESHOT) - ver http://linux.die.net/man/2/epoll_ctl )