从select的一个死循环谈epoll的ET模式

时间:2014-05-13 14:47:25   收藏:0   阅读:294
——作者:lvyilong316
最近写程序遇到一个问题,就是发现select监听标准输出的时候遇到了死循环,具体程序如下程序一。程序的意图是每当用户在控制台有任何输入,就输出hello world

程序一:

#include <stdio.h>

#include <sys/types.h>

#include <unistd.h>

#include <sys/select.h>

int 

main(int argc, char *argv[])

{

    int maxfdp1;

char buf[256];

fd_set rset;

    maxfdp1=STDIN_FILENO+1;

for(;;)

FD_ZERO(&rset);

FD_SET(STDIN_FILENO,&rset);

select(maxfdp1,&rset,NULL,NULL,NULL);

if(FD_ISSET(STDIN_FILENO,&rset))

    {

printf("hello world!\n");

    }

}

return 0;

}

运行结果:


从select的一个死循环谈epoll的ET模式,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!