您的位置:首页 > 运维架构

自己封装一个MySignal函数,方便以后直接copy.

2015-04-29 17:54 246 查看
传统的signal可能会有信号未决或者信号重入或多或少的问题,毕竟这个函数已经很多年了.

所以推荐使用sigaction函数,但是sigaction函数相对signal较为复杂,而且每次要写一大堆.因此对于习惯使用signal这种简单方便的函数我们不妨自己包一下sigaction!

int MySigaction(int signo, void (*func)(int))
{
  struct sigaction act, oact;
  act.sa_handler = func;
  sigemptyset(&act.sa_mask);
  act.sa_flags = 0;
  return sigaction(signo, &act, &oact);
}



sa_handler和signal的handler一样

sigemptyset表示清空结构,和memset差不多

oact表示老的那个结构,不用管,填NULL也行

下次就可以愉快的来copy代码了.哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐