当前位置: 技术问答>linux和unix
关于sigpending()无法返回被阻塞信号集的问题
来源: 互联网 发布时间:2016-02-28
本文导语: 各位大虾,我最近在学习《unix下高级编程》,在练习到sigpending()的调用的时候,发现sigpending()似乎已经失效,无法正确的返回block住的信号。我用的系统是NetBSD3.1(虚拟机)。 #include #include "ourhdr.h" static voi...
各位大虾,我最近在学习《unix下高级编程》,在练习到sigpending()的调用的时候,发现sigpending()似乎已经失效,无法正确的返回block住的信号。我用的系统是NetBSD3.1(虚拟机)。
#include
#include "ourhdr.h"
static void sig_quit(int);
int
main(void)
{
int flag1=10;
int flag2=10;
sigset_t newmask,oldmask,pendmask;
if(signal(SIGQUIT,sig_quit)==SIG_ERR)
printf("cat't catch SIGQUITn");
sigemptyset(&newmask);
sigaddset(&newmask,SIGQUIT);
if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)
#include
#include "ourhdr.h"
static void sig_quit(int);
int
main(void)
{
int flag1=10;
int flag2=10;
sigset_t newmask,oldmask,pendmask;
if(signal(SIGQUIT,sig_quit)==SIG_ERR)
printf("cat't catch SIGQUITn");
sigemptyset(&newmask);
sigaddset(&newmask,SIGQUIT);
if(sigprocmask(SIG_BLOCK,&newmask,&oldmask)