加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Signal Handling--ref

发布时间:2021-01-25 08:01:09 所属栏目:Linux 来源:网络整理
导读:signal is a software interrupt delivered to a process. The operating system uses signals to report exceptional situations to an executing program. Some signals report errors such as references to invalid memory addresses; others report asy

Remember,too,that blocking program error signals such asSIGFPEleads to undesirable results for signals generated by an actual program error (as opposed to signals sent withraiseorkill). This is because your program may be too broken to be able to continue executing to a point where the signal is unblocked again. See section.

SIGALRMsignals that sets a flag whenever a signal arrives,and your main program checks this flag from time to time and then resets it. You can prevent additionalSIGALRMsignals from arriving in the meantime by wrapping the critical part of the code with calls tosigprocmask,like this:

/* This variable is set by the SIGALRM signal handler. */
volatile sig_atomic_t flag = 0;

int
main (void)
{
sigset_t block_alarm;

...

/ Initialize the signal mask. /
sigemptyset (&block_alarm);
sigaddset (&block_alarm,SIGALRM);

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读