sigsetjmp siglongjmp

这两个函数的作用可以类比setjmp和longjmp,只不过这两个函数用在信号处理函数中。

在信号处理函数执行的过程中,会阻塞引发该信号处理函数的信号(把该信号添加到信号屏蔽字中),如果在信号处理函数中使用longjmp则,信号屏蔽字是否恢复是未定义的。

所以新增两个函数,至于在siglongjmp后是否恢复被屏蔽的信号则需要看sigsetjmp的调用。

sigsetjmp的函数声明为:

int sigsetjmp(sigjmp_buf env, int savesigs);

若savesigs非0,则在调用siglongjmp跳转回去的时候保留信号屏蔽字。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 信号的基本概念 信号被认为是一种软件中断(区别于硬件中断),信号机制提供了一种在单进程/线程下处理异步事件的方法。...
    小叶大孟阅读 2,028评论 0 1
  • 你为后世做迷 云彩随之千里 你眉目说如意 折花却听了别离 你是前朝的流离 荒了人家的曲 无意却是有意,终难敌
    芷月阅读 255评论 0 0
  • 昨天一天,上证指数就上涨了27,这是我开始投资基金以来上涨最快的一天。我一天的收益接近100块钱,其实本金还不到1...
    刘金玉阅读 364评论 5 1
  • 知几其神乎阅读 145评论 0 0
  • 听完猫叔的分享,有一种醍醐灌顶的感觉,这么多年以来,感觉自己也看了很多书,要用的时候,却依然是,茶壶里煮饺子,倒不...
    肖小语的盛夏阅读 641评论 1 9