} } }
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、测试结果
相关推荐: