1 /* 2 * Check that strace output contains RT_1 RT_3 RT_31 RT_32 here: 3 * rt_sigprocmask(SIG_BLOCK, [CHLD RT_1 RT_3 RT_31 RT_32], NULL, 8) = 0 4 * and here: 5 * sigreturn() (mask [CHLD RT_1 RT_3 RT_31 RT_32]) = 0 6 * 7 * On x86, both 32-bit and 64-bit strace needs to be checked. 8 */ 9 #include <stdlib.h> 10 #include <unistd.h> 11 #include <signal.h> 12 13 void null_handler(int sig) 14 { 15 } 16 17 int main(int argc, char *argv[]) 18 { 19 sigset_t set; 20 sigemptyset(&set); 21 sigaddset(&set, SIGCHLD); 22 sigaddset(&set, 33); 23 sigaddset(&set, 35); 24 sigaddset(&set, 63); 25 sigaddset(&set, 64); 26 sigprocmask(SIG_BLOCK, &set, NULL); 27 signal(SIGWINCH, null_handler); 28 raise(SIGWINCH); 29 return 0; 30 } 31