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

转载于:https://www.cnblogs.com/shichuan/p/4466665.html

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

  1. ajax通讯原理,ajax通讯原理以及自己封装一个ajax函数

    ajax通讯原理 要解释ajax的原理,需要从旧的交互方式开始,当用户触发一个http请求到服务器,服务器对其进行处理之后,再返回一个新的html页到客户端,每当服务器处理客户端提交的请求时,客户都只 ...

  2. JavaScript封装一个注册函数解决兼容问题

    我们知道JavaScript注册(绑定)事件主要有两类方式,第一类传统方式具有注册事件的唯一性,即对于同一元素的同一事件,不会出现两个处理函数,如下 var btn = document.queryS ...

  3. 函数模板案例_利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试

    案例描述: 利用函数模板封装一个排序的函数,可以对不同数据类型数组进行排序 排序规则从大到小,排序算法为选择排序 分别利用char数组和int数组进行测试 #include <iostream& ...

  4. 指针||指针和数组||指针和函数||指针、数组、函数 案例描述:封装一个函数,利用冒泡排序,实现对整型数组的升序排序

    指针 指针的基本概念 指针的作用: 可以通过指针间接访问内存 内存编号是从0开始记录的,一般用十六进制数字表示 可以利用指针变量保存地址 指针变量的定义和使用 指针变量定义语法: 数据类型 * 变量名 ...

  5. python封装一个函数并调用_python - 函数的封装与调用

    一.函数的定义,函数名,函数体以及函数的调用 1.函数的定义语法: def 函数名(): 函数体 2.函数名的定义与变量名命名一样 3.函数的封装与调用 #函数的封装 defyue():print(' ...

  6. 封装一个信号量集操作函数的工具

    信号量的概念参见这里. 与消息队列和共享内存一样,信号量集也有自己的数据结构: struct semid_ds { struct ipc_perm sem_perm;  /* Ownership an ...

  7. Python之网络爬虫(验证码、代理IP、防反爬策略、封装一个抓取页面的函数)

    文章目录 一.使用tesseract做OCR验证码识别 二.代理服务器设置 三.反爬与防反爬 四.封装一个抓取页面的函数 一.使用tesseract做OCR验证码识别 1.cookie, sessio ...

  8. java绘制聊天气泡代码_封装一个canvas画对话气泡的函数

    quadraticCurveTo(cp1x, cp1y, x, y) 绘制二次贝塞尔曲线,cp1x,cp1y为一个控制点,x,y为结束点.开始点由moveTo,或者前面一次的结束点作为下次调用的开始点 ...

  9. C++封装一个易用的打印backtrace信息的函数

    C++封装一个易用的打印backtrace信息的函数 1.前言 2.几个需要用到函数 2.1.backtrace函数 2.2.backtrace_symbols函数 2.3.__cxa_demangl ...

最新文章

  1. 10道C++输出易错笔试题收集(敢进来挑战吗?)
  2. 一文理类加载相关知识:类加载器、双亲委派、SPI
  3. Linux find和grep的区别
  4. 高级数据分析1代码_用Python进行数据分析,让你一看就会
  5. 计算机软件职业资格证书查询,电子社保卡可查询职业资格证书啦!
  6. python系列九:python3迭代器和生成器
  7. PHP特性整合(PHP5.X到PHP7.1.x)
  8. php影院影城源码,99影院源码 影视网站程序源码/附教程
  9. 什么是数据库存储过程?
  10. GB:香港城市大学孙燕妮组发表高准确度病毒株识别工具VirStrain
  11. qt5把qt_zh_CN.qm加载了,但QTextEdit的右键菜单仍然是英文,而QLineEdit的倒是中文。怎样设置使得QTextEdit的右键菜单是中文
  12. 2023年大学毕业生,我有话想对你说
  13. 【360补天计划】记第一次漏洞提交
  14. 超参数优---贝叶斯优化及其改进(PBT优化)
  15. Date_Calendar_SimpleDateFormat_大浮点数和大整数
  16. html5发展现状调查问卷,《小班语言发展现状调查问卷分析报告》
  17. 云编排技术加持,华为助力国网陕西电力成就数字化转型新样板
  18. web前端性能以及SEO优化
  19. 华为nova刷Android10,华为nova(CAZ-AL10)6.0 ROM刷机包 极致精简流畅
  20. TCP-Westwood拥塞算法

热门文章

  1. mybatis-plus自定义配置方式
  2. openresty获取nginx原始的请求头内容
  3. Linux服务部署常用命令--top、free、df、scp
  4. 性能测试(04)-表达式和业务关联-JDBC关联
  5. 段式存储管理 Vs 页式存储管理 Vs 段页式存储管理
  6. 外部中断0——51程序
  7. python循环实验心得_2019.06.18学习python循环总结
  8. vnc移植_VNC远程控制软件使用说明
  9. Cache相关基本概念理解
  10. 数据结构与算法 / 默克尔树