diff options
Diffstat (limited to 'tests/sigaction.c')
-rw-r--r-- | tests/sigaction.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/sigaction.c b/tests/sigaction.c index 82666f9..b5f19b5 100644 --- a/tests/sigaction.c +++ b/tests/sigaction.c @@ -11,26 +11,30 @@ static void handle_signal(int no) int main(void) { - struct sigaction sa, sa1, sa2, sa3; + struct sigaction sa, sa0; sa.sa_handler = SIG_IGN; sigemptyset(&sa.sa_mask); sigaddset(&sa.sa_mask, SIGHUP); sigaddset(&sa.sa_mask, SIGINT); sa.sa_flags = SA_RESTART; - assert(!sigaction(SIGUSR2, &sa, &sa1)); + assert(!sigaction(SIGUSR2, &sa, &sa0)); sa.sa_handler = handle_signal; sigemptyset(&sa.sa_mask); sigaddset(&sa.sa_mask, SIGQUIT); sigaddset(&sa.sa_mask, SIGTERM); sa.sa_flags = SA_SIGINFO; - assert(!sigaction(SIGUSR2, &sa, &sa2)); + assert(!sigaction(SIGUSR2, &sa, &sa0)); sa.sa_handler = SIG_DFL; sigemptyset(&sa.sa_mask); sa.sa_flags = 0; - assert(!sigaction(SIGUSR2, &sa, &sa3)); + assert(!sigaction(SIGUSR2, &sa, &sa0)); + + sigfillset(&sa.sa_mask); + sigdelset(&sa.sa_mask, SIGHUP); + assert(!sigaction(SIGUSR2, &sa, &sa0)); return 0; } |