当前位置: 技术问答>linux和unix
关于阻塞信号添加问题.sigprocmask 问题
来源: 互联网 发布时间:2015-05-16
本文导语: static volatile sig_atomic_t sigflag; static sigset_t newmask,oldmask,zeromask; static void sig_usr(int signo) /*SIGUSR1 和 SIGUSR2 的1信号处理 */ { sigflag = 1 ; return; } void TELL_WAIT(void) { if(signal(SIGUSR1,sig_usr) == SIG_ERR) ...
static volatile sig_atomic_t sigflag;
static sigset_t newmask,oldmask,zeromask;
static void
sig_usr(int signo) /*SIGUSR1 和 SIGUSR2 的1信号处理 */
{
sigflag = 1 ;
return;
}
void
TELL_WAIT(void)
{
if(signal(SIGUSR1,sig_usr) == SIG_ERR)
printf("signal(SIGUSR1) error");
if(signal(SIGUSR2,sig_usr) == SIG_ERR)
printf("signal(SIGUSR2) error");
sigemptyset(&zeromask);
sigemptyset(&newmask);
sigaddset(&newmask, SIGUSR1);
sigaddset(&newmask, SIGUSR2);
if(sigprocmask(SIG_BLOCK, &newmask, &oldmask)
static sigset_t newmask,oldmask,zeromask;
static void
sig_usr(int signo) /*SIGUSR1 和 SIGUSR2 的1信号处理 */
{
sigflag = 1 ;
return;
}
void
TELL_WAIT(void)
{
if(signal(SIGUSR1,sig_usr) == SIG_ERR)
printf("signal(SIGUSR1) error");
if(signal(SIGUSR2,sig_usr) == SIG_ERR)
printf("signal(SIGUSR2) error");
sigemptyset(&zeromask);
sigemptyset(&newmask);
sigaddset(&newmask, SIGUSR1);
sigaddset(&newmask, SIGUSR2);
if(sigprocmask(SIG_BLOCK, &newmask, &oldmask)