1、epoll_create函数
函数声明:int epoll_create(int
size)
该 函数生成一个epoll专用的文件描述符。它其实是在内核申请一空间,用来存放你想关注的socket
fd上是否发生以及发生了什么事件。size就是你在这个epoll fd上能关注的最大socket fd数。
22、epoll_ctl函数
函数声明:int epoll_ctl(int epfd,
int op, int fd, struct epoll_event
*event)
该函数用于控制某个epoll文件描述符上的事件,可以注册事件,修改事件,删除事件。
参数:
epfd:由
epoll_create
生成的epoll专用的文件描述符;
op:要进行的操作例如注册事件,可能的取值EPOLL_CTL_ADD
注册、EPOLL_CTL_MOD 修 改、EPOLL_CTL_DEL
删除
fd:关联的文件描述符;
event:指向epoll_event的指针;
如果调用成功返回0,不成功返回-1
3、epoll_wait函数
函数声明:int
epoll_wait(int epfd,struct epoll_event * events,int maxevents,int
timeout)
该函数用于轮询I/O事件的发生;
参数:
epfd:由epoll_create
生成的epoll专用的文件描述符;
epoll_event:用于回传代处理事件的数组;
maxevents:每次能处理的事件数;
timeout:等待I/O事件发生的超时值(单位我也不太清楚);-1相当于阻塞,0相当于非阻塞。一般用-1即可
返回发生事件数
原文:http://www.cnblogs.com/RobbieQiu/p/3677428.html