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

Signal Handling--ref

发布时间:2021-01-29 05:04: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

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);
...

(编辑:通辽站长网)

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

热点阅读