ChinaUnix.net
相关文章推荐:

select poll

非阻塞 I/O 经常使用 poll(System V)、select(BSD Unix)、 epoll(linux2.5.45开始)系统调用。

select系统调用

select()的调用形式为:
    #include <sys/select.h>
    #include <sys/time.h>
    int select(int maxfd,     ...

by jerry20000 - 移动操作系统 - 2011-12-22 08:51:08 阅读(1143) 回复(0)

相关讨论
by fufelixzh - C/C++ - 2011-05-23 22:32:07 阅读(1547) 回复(1)

这两个函数是不是和多线程联用的情况比较多?

by VIP_fuck - C/C++ - 2009-06-12 12:50:41 阅读(1354) 回复(3)

重读2.4 052 fs/select.c target="_blank">http://docs.google.com/Doc?id=dcbsxfpf_213vc73kssk 2008-4-22 这里讨论的是selectpoll的系统调用实现方式. 首先要熟悉的是内核中为pollselect定义的各种输入输出消息的含义: pollIN 有数据可以读入,read不会阻塞,注意:select的请情况下,即使到EOF也是ready的. pollPRI 紧急数据,比如TCP,或者packet 模式的peseudo-terminal发现slave的状态有变化....

by yuchuan2008 - Linux文档专区 - 2008-09-27 11:18:12 阅读(1146) 回复(0)

如果当前不可读,那么在sys_poll->do_poll中当 前进程就会睡眠在等待队列上,这个等待队列是由驱动程序提供的(就是poll_wait中传入的那个)。当可读的时候,驱动程序可能有一部分代码运行了 (比如驱动的中断服务程序),那么在这部分代码中,就会唤醒等待队列上的进程,也就是之前睡眠的那个,当那个进程被唤醒后do_poll会再一次的调用驱 动程序的poll函数,这个时候应用程序就知道是可读的了。 本文来自ChinaUnix博客...

by skater - Linux文档专区 - 2006-09-10 20:23:06 阅读(581) 回复(0)

2.1. 如何管理多个连接? “我想同时监控一个以上的文件描述符(fd)/连接(connection)/流(stream),应该怎么办?” 使用 select() 或 poll() 函数。 注意:select() 在BSD中被引入,而poll()是SysV STREAM流控制的产物。因此,这里就有了平台移植上的考虑:纯粹的BSD系统可能仍然缺少poll(),而早一些的SVR3系统中可能没有select(),尽管在SVR4中将其加入。目前两者都是POSIX. 1g标准,(译者注:因此在Linux上两者都存在) sel...

by zqy2000zqy - Linux文档专区 - 2006-07-26 15:42:04 阅读(444) 回复(0)

用于需要向多个描述符读写的情况. 使用多进程或多线程的话需要同步, 比较复杂; 使用异步I/O的话每个系统实现不同且都有限制; 比较时宜的方法是采用多路I/O.多路I/O的功能. 用户建立一个描述符列表, 并调用一个多路I/O函数, 该函数直到列表中的描述符至少有一个可以进行I/O操作时才返回, 并且告知用户可用的描述符.poll_table_struct结构的作用: kernel应该管理一个总的poll_table_struct, 当应用程序调用pollselect等待...

by chouqiu - Linux文档专区 - 2006-05-30 09:05:39 阅读(648) 回复(0)

下记以外的其他网址上的关联内容: http://www.builder.com.cn/2002/0320/45489.shtml Chapter 2. 一般文件操作(包括管道和套接字)Table of Contents2.1. 如何管理多个连接? 2.2. 我如何才能知道和对方的连接被终止? 2.3. 什么是读取目录的最好方法? 2.4. 我如何才能知道一个文件被另外进程打开? 2.5. 我如何锁住一个文件? 2.6. 我如何能发现一个文件已由另外一个进程更新? 2.7. 请问du是怎样工作的? 2.8. 我...

by bo_00 - Linux文档专区 - 2009-07-26 10:56:36 阅读(1221) 回复(0)

select()函数的作用(转载) 系统调用selectpoll的后端实现,用这两个系统调用来查询设备是否可读写,或是否处于某种状态。如果poll为空,则驱动设备会被认为即可读又可写,返回值是一个状态掩码 如何使用select()函数? select()函数的接口主要是建立在一种叫'fd_set'类型的基础上。它('fd_set') 是一组文件描述符(fd)的集合。由于fd_set类型的长度在不同平台上不同,因此应该用一组标准的宏定义来处理此类变量: ...

by embededgood - Linux文档专区 - 2009-05-19 23:41:49 阅读(744) 回复(0)

关于poll函数,有待根据以下文章写一下:http://bbs.educity.cn/bbs/12583.html http://www.9php.com/FAQ/cxsjl/c/2008/10/0560365131184.htmlhttp://www.builder.com.cn/2002/0320/45489.shtmlhttp://www.linux286.com/index.php/action_viewthread_tid_15581.html 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93494/showart_1888980.html

by zhengwenwei_123 - Linux文档专区 - 2009-04-02 19:08:27 阅读(808) 回复(0)

selectpoll的区别是什么?Google一把,没说得全面得,郁闷

by chenzhanyiczy - C/C++ - 2011-05-13 10:25:15 阅读(18434) 回复(20)