2 * Copyright (c) 2014-2015 Dmitry V. Levin <ldv@altlinux.org>
3 * Copyright (c) 2015-2018 The strace developers.
6 * SPDX-License-Identifier: GPL-2.0-or-later
14 static void handle_signal(int no)
22 struct sigaction sa, sa0;
24 sa.sa_handler = SIG_IGN;
25 sigemptyset(&sa.sa_mask);
26 sigaddset(&sa.sa_mask, SIGHUP);
27 sigaddset(&sa.sa_mask, SIGINT);
28 sa.sa_flags = SA_RESTART;
29 assert(!sigaction(SIGUSR2, &sa, &sa0));
31 sa.sa_handler = handle_signal;
32 sigemptyset(&sa.sa_mask);
33 sigaddset(&sa.sa_mask, SIGQUIT);
34 sigaddset(&sa.sa_mask, SIGTERM);
35 sa.sa_flags = SA_SIGINFO;
36 assert(!sigaction(SIGUSR2, &sa, &sa0));
38 sa.sa_handler = SIG_DFL;
39 sigemptyset(&sa.sa_mask);
41 assert(!sigaction(SIGUSR2, &sa, &sa0));
43 sigfillset(&sa.sa_mask);
44 sigdelset(&sa.sa_mask, SIGHUP);
45 assert(!sigaction(SIGUSR2, &sa, &sa0));