其他分享
首页 > 其他分享> > 信号集操作函数

信号集操作函数

作者:互联网

信号集操作函数

代码示例:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <pthread.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <signal.h>

void sys_err(const char *str)
{
    perror(str);
    exit(1);
}

void print_set(sigset_t *set)
{
    int i;
    for(i = 1;i<32;i++)
    {
        if(sigismember(set,i))
        putchar('1');
        else
            putchar('0');
    }

    printf("\n");
}
int main(int argc,char *argv[])
{
    sigset_t set,oldset,pedset;
    int ret = 0;
    sigemptyset(&set);
    sigaddset(&set,SIGINT);

    ret = sigprocmask(SIG_BLOCK,&set,&oldset);
    if(ret == -1)
    {
        sys_err("sigpromask error");
    }
   while(1)
   {  
   ret = sigpending(&pedset);
   if(ret == -1)
   {
       sys_err("sigpending error");
   }
    
   print_set(&pedset);
   sleep(1);
   }
    return 0;
}

注意事项

标签:set,函数,sigset,int,ret,信号,操作,include
来源: https://blog.csdn.net/Reggie0202/article/details/114206373