当前位置:  技术问答>linux和unix

关于epoll(7)的问题

    来源: 互联网  发布时间:2017-05-28

    本文导语:  以下代码来自于man 7 epoll,我的问题是他在处理accept进来的fd,把fd添加到epoll时,用到了一个全局的epoll_event ev,然后传ev的地址进epoll_ctl,这样后续的添加fd会影响之前的fd的event设置吗? #define MAX_EVENTS 10 struct epo...

以下代码来自于man 7 epoll,我的问题是他在处理accept进来的fd,把fd添加到epoll时,用到了一个全局的epoll_event ev,然后传ev的地址进epoll_ctl,这样后续的添加fd会影响之前的fd的event设置吗?


#define MAX_EVENTS 10
struct epoll_event ev, events[MAX_EVENTS];
int listen_sock, conn_sock, nfds, epollfd;

/* Set up listening socket, 'listen_sock' (socket(),
   bind(), listen()) */

epollfd = epoll_create(10);
if (epollfd == -1) {
    perror("epoll_create");
    exit(EXIT_FAILURE);
}

ev.events = EPOLLIN;
ev.data.fd = listen_sock;
if (epoll_ctl(epollfd, EPOLL_CTL_ADD, listen_sock, &ev) == -1) {
    perror("epoll_ctl: listen_sock");
    exit(EXIT_FAILURE);
}

for (;;) {
    nfds = epoll_wait(epollfd, events, MAX_EVENTS, -1);
    if (nfds == -1) {
        perror("epoll_pwait");
        exit(EXIT_FAILURE);
    }

   for (n = 0; n 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • epoll中epoll_event结构体的含义
  • 第一次用epoll就傻眼,程序报create_epoll error Function not implemented
  • 为Qt添加epoll的高性能I/O复用 qt_eventdispatcher_epoll
  • 请问: 当服务器采用epoll 时,客户端连不上,但若服务器端不用epoll时,也连上并发消息,这是为什么啊
  • epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event)为何老返回-1
  • epoll 退出
  • 关于epoll的几个疑问
  • 有人碰到过epoll丢信号吗
  • epoll模型如何限制最大连接数
  • python实现Linux异步epoll代码
  • epoll多路复用模型的疑惑,请高手解答
  • epoll,socket超时如何设置?
  • linux并发服务器中epoll+多线程分别怎么理解?
  • 关于epoll的链接库
  • 谁能解释一下epoll、libevent、zeroMQ的区别?
  • epoll 丢事件
  • 我已经升级内核到2.6,但是为什么还是不能用epoll?
  • int epoll_create(int size) size参数的含义
  • 使用 epoll或poll ,如何确定 与客户端的链接断开 ?
  • 最近在看EPOLL。。。。


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3