x
继续分析sched.c文件。这次看一下sys_pause函数。具体的实现如下:

这个函数实现的功能其实就是切换了任务状态然后执行调度,而且这个返回值感觉上用处不大。因为返回值的情况其实只有一种。
接下来看看函数的调用情况,整个工程中调用如下:

内容还是比较少的,有些纯粹是声明。真正有分析必要性的应该有第二条,这个涉及到一个之前就接触过的表。还要就是signal.c文件。
先看任务表:

要理解这部分,需要查看这个表的调度。

这个是在汇编代码的系统调度中被调用的。看起来,应该有一个系统级的处理在这里。

除此之外,就是在信号suspend处理函数中用到了。这个后面到了这里的时候再做分析,这里先跳过。不过,这里看到一个很有意思的代码风格,居然是在函数的内部进行函数的声明。
整个的代码中,关于这个功能的调用其实就这么些。
















