POLL机制的内核代码详解
Linux APP 系统调用,基本都可以在它的名字前加上 sys_
前缀,这就是它在内核中对应的函数。比如系统调用 open
、read
、write
、poll
,与之对应的内核函数为 sys_open
、sys_read
、sys_write
、sys_poll
。
对于系统调用 poll
和 select
,他们对应的内核函数都是 sys_poll
。分析 sys_poll
,即可理解 poll
机制。
sys_poll 函数
sys_poll 位于 fs/select.c 文件中,代码如下:
SYSCALL_DEFINE3(poll, struct pollfd __user *, ufds, unsigned int, nfds,
int, timeout_msecs)
{<