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