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)
-
The
sigpending function 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 is0 if successful,and-1 on 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);
... (编辑:开发网_开封站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|