Dmitry V. Levin | 59f63d3 | 2015-03-05 05:03:41 +0000 | [diff] [blame] | 1 | #ifdef HAVE_CONFIG_H |
| 2 | # include "config.h" |
| 3 | #endif |
Dmitry V. Levin | 30bcb79 | 2015-03-04 12:31:18 +0000 | [diff] [blame] | 4 | #include <stdlib.h> |
| 5 | #include <signal.h> |
| 6 | |
Dmitry V. Levin | 59f63d3 | 2015-03-05 05:03:41 +0000 | [diff] [blame] | 7 | #ifdef ASM_SIGRTMIN |
| 8 | # define RT_0 ASM_SIGRTMIN |
| 9 | #else |
| 10 | /* Linux kernel >= 3.18 defines SIGRTMIN to 32 on all architectures. */ |
| 11 | # define RT_0 32 |
| 12 | #endif |
| 13 | |
Dmitry V. Levin | 30bcb79 | 2015-03-04 12:31:18 +0000 | [diff] [blame] | 14 | static void handler(int sig) |
| 15 | { |
| 16 | } |
| 17 | |
Dmitry V. Levin | 30bcb79 | 2015-03-04 12:31:18 +0000 | [diff] [blame] | 18 | int main(void) { |
| 19 | sigset_t set; |
| 20 | sigemptyset(&set); |
| 21 | sigaddset(&set, SIGUSR2); |
| 22 | sigaddset(&set, SIGCHLD); |
| 23 | sigaddset(&set, RT_0 + 2); |
| 24 | sigaddset(&set, RT_0 + 3); |
| 25 | sigaddset(&set, RT_0 + 4); |
Dmitry V. Levin | 59f63d3 | 2015-03-05 05:03:41 +0000 | [diff] [blame] | 26 | sigaddset(&set, RT_0 + 26); |
| 27 | sigaddset(&set, RT_0 + 27); |
Dmitry V. Levin | 30bcb79 | 2015-03-04 12:31:18 +0000 | [diff] [blame] | 28 | sigprocmask(SIG_SETMASK, &set, NULL); |
| 29 | signal(SIGUSR1, handler); |
| 30 | raise(SIGUSR1); |
| 31 | return 0; |
| 32 | } |