红联Linux门户
Linux帮助

select 问题

发布时间:2011-11-02 17:54:05来源:红联作者:guwengchuixue
我有两个线程
在其中一个线程中retval = select(fd + 1,&rfds,NULL,NULL,NULL);等待有数据可读,

如果我在另外一个线程中close(fd);
select 不退出
这是为什么?有没有什么办法?
文章评论

共有 2 条评论

  1. guwengchuixue 于 2011-11-03 10:02:11发表:

    谢谢您的回答,
    除了这种方法,还有其他的嘛?
    是不是在select中,无法判断被监测的文件描述符已被关闭?

  2. congsong1319 于 2011-11-02 23:17:33发表:

    select(fd + 1,&rfds,NULL,NULL,NULL);
    最后一个时间参数,可以指定一个struct timeval 指定时间会返回