主要以sigemptyset(),sigaddset()函数为基础查看信号集的存储结构。
用于进程间的异步通信。
1 #include <signal.h> 2 #include <stdio.h> 3 #include <stdlib.h> 4 5 int output(sigset_t set); 6 7 int main() 8 { 9 sigset_t set; 10 printf("after empty the set:\n"); 11 sigemptyset(&set); 12 output(set); 13 printf("after add signo = 2:\n"); 14 sigaddset(&set, 2); 15 output(set); 16 printf("after add signo = 10:\n"); 17 sigaddset(&set, 10); 18 output(set); 19 20 sigfillset(&set); 21 printf("after fill all:\n"); 22 output(set); 23 return 0; 24 } 25 26 int output(sigset_t set) 27 { 28 int i =0; 29 for(i = 0; i < 1; i++) 30 { 31 printf("0x%8x\n", set.__val[i]); 32 if((i + 1) % 8 == 0) 33 printf("\n"); 34 } 35 }
输出:
[root@localhost ~]# ./sig_set_member
after empty the set:
0x 0
after add signo = 2:
0x 2
after add signo = 10:
0x 202
after fill all:
0x7fffffff