今天看啥
热点:

Contiki 学习笔记:process_run 解析,contikiprocess_run


process_run用于处理系统所有needspoll标记为1的进程及处理事件队列的下一个事件。本文深入原码,详细分析,也包括do_poll和do_event函数。


一、运行process_run

二、process_run剖析

process_run处理系统所有needspoll标记为1的进程及处理事件队列的下一个事件,源代码如下:

透过上述的源代码,可以直观看出needspoll标记为1的进程可以优先执行。并且每执行一次process_run,将处理系统所有needspoll标记为1的进程,而只处理事件队列的一个事件。

2.1 do_poll函数

复位全局变量poll_requested,遍历整个进程链表,将needspoll标记为1的进程投入运行,并将相应的needspoll复位。源代码如下:

2.2 do_event函数

do_event处理事件队列的一个事件,有两种事件需特殊处理:PROCESS_BROADCAST和PROCESS_EVENT_INIT。前者是广播事件,需处理所有进程,后者是初始化事件,需将进程状态设为PROCESS_STATE_RUNNING。源代码如下:

www.bkjia.comtruehttp://www.bkjia.com/Androidjc/1002143.htmlTechArticleContiki 学习笔记:process_run 解析,contikiprocess_run process_run用于处理系统所有needspoll标记为1的进程及处理事件队列的下一个事件。本...

相关文章

    暂无相关文章
相关搜索:

帮客评论

视觉看点