摘要: 本文只介绍epoll的主要流程而不是分析源代码,如果需要了解更多的细节可以自己翻阅相关的内核源代码.相关内核代码:fs/eventpoll.c判断一个tcp套接字上是否有激活事件:net/ipv4/tcp.c:tcp_poll函数每个epollfd在内核中有一个对应的eventpoll结构对象.其中关键的成员是一个readylist(eventpoll:rdllist)和一棵红黑树(eventpoll:rbr).一个fd被添加到epoll中之后(EPOLL_ADD),内核会为它生成一个对应的epitem结构对象.epitem被添加到eventpoll的红黑树中.红黑树的作用是使用者调用EPOL 阅读全文
posted @ 2014-03-23 18:43 sniperHW 阅读(7831) 评论(0) 推荐(0)