Epoll
man epoll
How to use epoll? A complete example in C
zh.wiki
使用红黑树