开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

epoll_ctl

接口名称

epoll_ctl(int epfd, int op, int fd, struct epoll_event *event)

接口描述

根据选项给epoll文件描述符配置对应的事件信息。

参数说明

参数说明备注
epfdepoll文件描述符-
op添加选项方式支持EPOLL_CTL_ADD、EPOLL_CTL_MOD、EPOLL_CTL_DEL。
fd需要添加到epoll的文件句柄不支持将一个fd放入不同的epoll中同时监测。
*event文件句柄需要感知的事件支持EPOLLIN、EPOLLOUT、EPOLLERR、EPOLLHUP、EPOLLRDHUP、EPOLLONESHOT。

返回值

类型:int

  • 0:表示成功
  • -1:表示失败,并设置errno以指示错误类型

错误码

错误码定义
EINVAL入参event无效。
EINVAL共线程部署模式时,sockfd的worker id和当前线程的worker id不一致,即socket跨worker线程调用。
EEXIST入参op为EPOLL_CTL_ADD时,该fd已经在epoll侦听列表中。
EINVAL入参epfd不是epoll描述符,或者入参fd与epfd相同,或者入参op不在支持范围内。
ENOENTop是EPOLL_CTL_MOD或者EPOLL_CTL_DEL时,fd没有注册epoll。
ENOMEM内存申请失败。
EFAULT入参op为EPOLL_CTL_ADD、EPOLL_CTL_MOD时,入参event为空指针。
ELIBBAD系统符号加载失败。