深入理解epoll

杳然 分享 2025-7-4 下载文档

} } }

static void do_write(int epollfd,int fd,int sockfd,char *buf) {

int nwrite;

nwrite = write(fd,buf,strlen(buf)); if (nwrite == -1) {

perror(\ close(fd); } else {

if (fd == STDOUT_FILENO)

delete_event(epollfd,fd,EPOLLOUT); else

modify_event(epollfd,fd,EPOLLIN); }

memset(buf,0,MAXSIZE); }

static void add_event(int epollfd,int fd,int state) {

struct epoll_event ev; ev.events = state; ev.data.fd = fd;

epoll_ctl(epollfd,EPOLL_CTL_ADD,fd,&ev); }

static void delete_event(int epollfd,int fd,int state) {

struct epoll_event ev; ev.events = state; ev.data.fd = fd;

epoll_ctl(epollfd,EPOLL_CTL_DEL,fd,&ev); }

static void modify_event(int epollfd,int fd,int state) {

struct epoll_event ev; ev.events = state; ev.data.fd = fd;

epoll_ctl(epollfd,EPOLL_CTL_MOD,fd,&ev); }

5、测试结果


深入理解epoll.doc 将本文的Word文档下载到电脑
搜索更多关于: 深入理解epoll 的文档
相关推荐
相关阅读