【发布时间】:2012-12-10 07:36:47
【问题描述】:
我正在学习 Linux 内部。所以我遇到了poll 系统调用。据我了解,当一些数据准备好从设备读取以及我们准备好数据到设备时,驱动程序使用它来提供通知。
如果设备没有任何数据要读取,进程将在数据可用时进入睡眠状态并唤醒,反之亦然用于写入情况。
谁能通过一些真实的例子给我对 poll 系统调用的具体理解?
【问题讨论】:
-
我不确定这里是否有一个简单的例子。 W. Richard Stevens 在他的 Unix 网络编程 卷 1 的第 6 章中需要几十行代码来创建一个基于
poll(2)的简单 TCP“回声”服务器的核心,他的代码是一个简单明了的模型。这是我的建议:拿到那本书并阅读它。尽管poll(2)可用于任何文件句柄,而不仅仅是网络套接字,但这是最常用的地方,因此可以找到最好的解释。
标签: linux linux-kernel system-calls