码迷,mamicode.com
首页 > 其他好文 > 详细

poll 从应用层到内核实现解析

时间:2018-07-12 01:01:21      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:睡眠   用户   拷贝   对象   tab   记录   内核空间   调用   使用   

poll与select的流程基本一致,其调用路径为sys_poll->do_sys_poll->do_poll->do_pollfd

do_sys_poll将用户空间的pollfd拷贝到内核空间,初始化poll_wqueues table对象,其使用与select相同。调用do_poll,取得需监视的fd的状态,然后将状态拷贝到用户空间,返回。

do_poll与do_select类似,查询事件,没事件睡眠。只是do_poll中使用pollfd,do_select使用long类型中的每一位记录状态。

do_pollfd实现对poll的调用,然后将状态记录到pollfd中。

poll 从应用层到内核实现解析

标签:睡眠   用户   拷贝   对象   tab   记录   内核空间   调用   使用   

原文地址:https://www.cnblogs.com/wanmeishenghuo/p/9297398.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!