567_linux内核学习_signal.c文件的泛读与分析

         全部学习汇总: https://github.com/GreyZhang/little_bits_of_linux

         这次,把signal.c的文件全都看一下,粗略泛读。后面应该也是这么个模式,不会像之前分的那么细了。

567_linux内核学习_signal.c文件的泛读与分析

         这一部分,其实之前是看过了的。

567_linux内核学习_signal.c文件的泛读与分析

         这部分,前面也看过了。主要是信号挂起的处理,我觉得技巧点应该是在于形参处理与寄存器操作的结合。

567_linux内核学习_signal.c文件的泛读与分析

         这两个函数,从命名看的话我们需要站在内核的角度来看。存储以及获取其实都是内核的动作。这样,第一个函数其实就是从内核往用户空间存储信息。而第二个则刚好相反,是从用户空间读取到内核。这个是static,因此就在这个文件中用,其实就是在后面的信号处理中。

567_linux内核学习_signal.c文件的泛读与分析

         这是两个信号的注册函数,第一个算是第二个的简化版本。前面的两个内核与用户空间之间数据交换的函数就在这里被用到了。

567_linux内核学习_signal.c文件的泛读与分析

         这个没内容,其实可以值得说说。为什么呢?如同我看代码的时候注释的信息,我觉得这其实能够透露出一点方法论的东西。

567_linux内核学习_signal.c文件的泛读与分析

567_linux内核学习_signal.c文件的泛读与分析

         这个是信号的处理实际起作用的函数。在注释中,我写了有些信息其实可以改进。主要是数字的含义问题,如果使用已经定义过的宏,这个可读性相对我这种初学者来说肯定是可以改进的。比如,我们看看前面说的0和1分别是啥概念,为什么有的是默认有的是忽略呢?而且,它本身的数据类型最初并不是数字。

567_linux内核学习_signal.c文件的泛读与分析

         但是,如果查看过这一段头文件中的定义,一切应该就很容易理解透了。

上一篇:Linux进程间通信(一): 信号 signal()、sigaction()


下一篇:Linux常见命令(四)——mkdir