加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Signal Handling--ref

发布时间:2021-01-24 19:32:46 所属栏目:Linux 来源:网络整理
导读:副标题#e# A program error such as dividing by zero or issuing an address outside the valid range. A user request to interrupt or terminate the program. Most environments are set up to let a user suspend the program by typing C-z ,or termi

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

(编辑:开发网_开封站长网)

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

热点阅读