ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

epoll学习随笔

2021-06-18 15:02:44  阅读:166  来源: 互联网

标签:associated epoll int 学习 fd file 随笔 event


int epoll_create(int size);// 创建epoll 实例
int epoll_ctl(int epfd,int op,int fd,struct epoll_event* event) // 

 op为枚举类型,可选择的参数有

EPOLL_CTL_ADD // register the target descriptor fd on epoll instance
EPOLL_CTL_MOD // change the event associated with the target file descriptor fd
EPOLL_CTL_DEL // remove the target file descriptor fd from epoll instance

 epoll_event 结构体成员

typedef union epoll_data {
    void *ptr;
    int fd;
    uint32_t u32;
    uint64_t u64;      
} epoll_data_t;

struct epoll_event {
    uint32_t events;
    epoll_data_t data;
};

 常用的event types:

EPOLLIN // the associated file is available for read operations;
EPOLLOUT // the associated file is available for write operations;
EPOLLERR // error condition happened on the associated file desciptor
EPOLLET // sets the edge triggered behavior for the associated file descriptor

 epoll_wait 函数

int epoll_wait(int epfd,struct epoll_event *events,int maxevents,int timeout);

 检测添加到epoll树上的节点是不是处于就绪状态,如果没有就绪的文件描述符会阻塞

如果有节点处于就绪状态,通过参数events 把对应的fd传出。

 

标签:associated,epoll,int,学习,fd,file,随笔,event
来源: https://www.cnblogs.com/xianning7/p/14899522.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有