There are two functions in epoll:
Are they thread-safe when I use the same epoll_fd?
What will happen if one thread calls epoll_wait and others call epoll_ctl at the same time?
Note: The existing accepted answer is correct, but it mentions " there isn't much documentation that explicitly states that ", while epoll documentation does state it.
The manual page for epoll_wait
explicitly allows adding a file descriptor to an epoll set while it is being waited for in another thread:
Section "Notes":
While one thread is blocked in a call to epoll_wait() , it is possible for another thread to add a file descriptor to the waited-upon epoll instance. If the new file descriptor becomes ready, it will cause the epoll_wait() call to unblock.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.