2013年5月16日
摘要: 用户层:poll()函数通过检验一组文件描述符来检测是否有特定的时间将在上面发生并在一定的时间内等待其发生。poll()接受一个指向结构"structpollfd"列表的指针,其中包括了你想测试的文件描述符和事件。事件由一个在结构中事件域的比特掩码确定。当前的结构在调用后将被填写并在事件发生后返回。当等待时间为0时,poll()函数立即返回,-1则使poll()一直挂起直到一个指定事件发生。下面是pollfd的结构。structpollfd{intfd;/*文件描述符*/shortevents;/*等待的事件*/shortrevents;/*实际发生了的事件*/};当返回正 阅读全文
posted @ 2013-05-16 13:45 simon_god 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 内核层:主要数据结构:structpoll_table_entry{structfilefilp;wait_queue_twait;//内部有一个指针指向一个进程wait_queue_head_twait_address;//等待队列头部(等待队列有多个//wait_queue_t组成,通过双链表连接)};structpoll_table_page{structpoll_table_pagenext;structpoll_table_entryentry;structpoll_table_entryentries[0];};structpoll_wqueues{poll_tablept;//一 阅读全文
posted @ 2013-05-16 13:44 simon_god 阅读(792) 评论(0) 推荐(0) 编辑