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

Signal Handling--ref

发布时间:2021-01-25 01:18:04 所属栏目: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

sigemptyset (&block_mask);
/ Block other terminal-generated signals while handler runs. /
sigaddset (&block_mask,SIGINT);
sigaddset (&block_mask,SIGQUIT);
setup_action.sa_handler = catch_stop;
setup_action.sa_mask = block_mask;
setup_action.sa_flags = 0;
sigaction (SIGTSTP,&setup_action,NULL);
}

sigprocmaskwithin your handler to block or unblock signals as you wish.

sigpending. This function is declared in`signal.h'.

intsigpending(sigset_t *set)
Thesigpendingfunction stores information about pending signals inset. If there is a pending signal that is blocked from delivery,then that signal is a member of the returned set. (You can test whether a particular signal is a member of this set usingsigismember; see section.)

The return value is0if successful,and-1on failure.

#include 
#include 

sigset_t base_mask,waiting_mask;

sigemptyset (&base_mask);
sigaddset (&base_mask,SIGINT);
sigaddset (&base_mask,SIGTSTP);

/ Block user interrupts while doing other processing. /
sigprocmask (SIG_SETMASK,&base_mask,NULL);
...

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关内容
未处理完善
    无相关信息
未处理完善