一、epoll函数简介
epoll函数是linux特有的I/O复用函数,它使用一组函数来实现I/O复用(区别于select和poll的单个函数)。epoll把用户关心的文件描述符上的事件放在内核里的一个事件表中,从而无须像select和poll那样每次调用都要重复传入文件描述符集或事件集。
二、epoll_create()函数
int epoll_create(int size);
- 功能:调用epoll_create方法创建一个epoll的句柄,该句柄代表着一个事件表
- 参数:size参数现在并不起作用,它只是给内核一个提示,告诉内核事件表需要多大
- 返回值:1. 成功:返回epoll句柄,它会占用一个fd值(使用完也需要关闭)
- 失败:返回-1并设置errno值
三、epoll_event结构体
struct epoll_event
{
__uint32_t events; /* Epoll事件 */
epoll_data_t data; /* 用户数据 */