当前位置:嗨网首页>书籍在线阅读

02-设计信号处理器函数

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

21.1 设计信号处理器函数

一般而言,将信号处理器函数设计得越简单越好。其中的一个重要原因就在于,这将降低引发竞争条件的风险。下面是针对信号处理器函数的两种常见设计。

  • 信号处理器函数设置全局性标志变量并退出。主程序对此标志进行周期性检查,一旦置位随即采取相应动作。(主程序若因监控一个或多个文件描述符的I/O状态而无法进行这种周期性检查时,则可令信号处理器函数向一专用管道写入一个字节的数据,同时将该管道的读取端置于主程序所监控的文件描述符范围之内。63.5.2节展示了这一技术的运用。)
  • 信号处理器函数执行某种类型的清理动作,接着终止进程或者使用非本地跳转(21.2.1节)将栈解开并将控制返回到主程序中的预定位置。

后续各节将会探讨这些设计理念,以及信号处理器函数设计中的其他一些重要概念。