码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-29 19:00:23      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

传统的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代码了.哈哈

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

标签:

原文地址:http://www.cnblogs.com/shichuan/p/4466665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!