zoukankan      html  css  js  c++  java
  • 信号本质

    信号本质

    信号是在软件层次上对中断机制的一种模拟,软中断

    信号来源

    信号事件的发生有两个来源:

    硬件来源:(比如我们按下了键盘或者其它硬件故障)

    软件来源:最常用发送信号的系统函数是killraisealarmsetitimer以及sigqueue函数,软件来源还包括一些非法运算等操作。

    区分是什么原因唤醒进程,用signal_pending( current )

    检查当前进程是否有信号处理,返回不为0表示有信号需要处理。-ERESTARTSYS 表示信号函数处理完毕后重新执行信号函数前的某个系统调用。也就是说,如果信号函数前有发生系统调用,在调度用户信号函数之前,内核会检查系统调用的返回值,看看是不是因为这个信号而中断了系统调用。如果返回值-ERESTARTSYS,并且当前调度的信号具备-ERESTARTSYS属性,系统就会在用户信号函数返回之后再执行该系统调用。

    原文

    http://blog.sina.com.cn/s/blog_548b0a230100dy9o.html

  • 相关阅读:
    虚拟机简介
    关于JavaScript的那些话
    关于Python的那些话
    JavaScript教程大纲
    一个resin启动bug的解决
    Python教程大纲
    zinnia项目功能分析
    CDN公共资源
    Django Web项目部署参考
    Django Web项目代码规范参考
  • 原文地址:https://www.cnblogs.com/mydomain/p/2924721.html
Copyright © 2011-2022 走看看