arch/alpha/kernel/signal.c
90
SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
arch/alpha/kernel/signal.c
91
struct sigaction __user *, oact,
arch/mips/kernel/signal.c
596
SYSCALL_DEFINE3(sigaction, int, sig, const struct sigaction __user *, act,
arch/mips/kernel/signal.c
597
struct sigaction __user *, oact)
arch/sh/kernel/signal_32.c
407
struct sigaction *sa)
arch/sparc/include/uapi/asm/signal.h
104
#define __old_sigaction sigaction
arch/sparc/include/uapi/asm/signal.h
95
#define __new_sigaction sigaction
arch/sparc/kernel/signal32.c
638
struct sigaction *sa)
arch/sparc/kernel/signal_32.c
431
struct sigaction *sa)
arch/sparc/kernel/signal_64.c
452
struct sigaction *sa)
arch/sparc/kernel/sys_sparc_32.c
178
const struct sigaction __user *, act,
arch/sparc/kernel/sys_sparc_32.c
179
struct sigaction __user *, oact,
arch/sparc/kernel/sys_sparc_64.c
693
SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
arch/sparc/kernel/sys_sparc_64.c
694
struct sigaction __user *, oact, void __user *, restorer,
arch/um/os-Linux/main.c
49
struct sigaction action;
arch/um/os-Linux/main.c
63
if (sigaction(sig, &action, NULL) < 0) {
arch/um/os-Linux/sigio.c
203
struct sigaction old, new;
arch/um/os-Linux/sigio.c
238
if (sigaction(SIGIO, NULL, &old) < 0) {
arch/um/os-Linux/sigio.c
246
if (sigaction(SIGIO, &new, NULL) < 0) {
arch/um/os-Linux/sigio.c
258
if (sigaction(SIGIO, &old, NULL) < 0)
arch/um/os-Linux/signal.c
217
struct sigaction action;
arch/um/os-Linux/signal.c
239
if (sigaction(sig, &action, NULL) < 0)
arch/um/os-Linux/smp.c
137
struct sigaction action = {
arch/um/os-Linux/smp.c
144
if (sigaction(IPI_SIGNAL, &action, NULL) < 0)
arch/um/os-Linux/start_up.c
267
struct sigaction sa;
arch/um/os-Linux/start_up.c
279
if (sigaction(SIGSYS, &sa, NULL) < 0)
arch/x86/um/bugs_32.c
25
struct sigaction old, new;
arch/x86/um/bugs_32.c
33
sigaction(SIGILL, &new, &old);
arch/x86/um/bugs_32.c
42
sigaction(SIGILL, &old, &new);
include/linux/signal_types.h
52
struct sigaction sa;
include/linux/syscalls.h
672
const struct sigaction __user *,
include/linux/syscalls.h
673
struct sigaction __user *,
kernel/signal.c
4628
const struct sigaction __user *, act,
kernel/signal.c
4629
struct sigaction __user *, oact,
kernel/signal.c
4699
SYSCALL_DEFINE3(sigaction, int, sig,
kernel/signal.c
4735
COMPAT_SYSCALL_DEFINE3(sigaction, int, sig,
samples/seccomp/bpf-direct.c
100
if (sigaction(SIGSYS, &act, NULL) < 0) {
samples/seccomp/bpf-direct.c
92
struct sigaction act;
tools/arch/x86/dell-uart-backlight-emulator/dell-uart-backlight-emulator.c
41
struct sigaction sigact = { .sa_handler = signalhdlr };
tools/arch/x86/dell-uart-backlight-emulator/dell-uart-backlight-emulator.c
78
sigaction(SIGINT, &sigact, 0);
tools/arch/x86/dell-uart-backlight-emulator/dell-uart-backlight-emulator.c
79
sigaction(SIGTERM, &sigact, 0);
tools/bpf/bpftool/tracelog.c
120
const struct sigaction act = {
tools/bpf/bpftool/tracelog.c
138
sigaction(SIGHUP, &act, NULL);
tools/bpf/bpftool/tracelog.c
139
sigaction(SIGINT, &act, NULL);
tools/bpf/bpftool/tracelog.c
140
sigaction(SIGTERM, &act, NULL);
tools/iio/iio_generic_buffer.c
320
struct sigaction sa = { .sa_handler = sig_handler };
tools/iio/iio_generic_buffer.c
325
ret = sigaction(signums[i], &sa, NULL);
tools/mm/page-types.c
1084
sigaction(SIGBUS, &sigbus_action, NULL);
tools/mm/page-types.c
967
static struct sigaction sigbus_action = {
tools/objtool/signal.c
103
struct sigaction sa;
tools/objtool/signal.c
128
if (sigaction(signals[i], &sa, NULL) == -1) {
tools/objtool/signal.c
29
struct sigaction sa_dfl = {0};
tools/objtool/signal.c
56
sigaction(sig_num, &sa_dfl, NULL);
tools/perf/bench/epoll-ctl.c
316
struct sigaction act;
tools/perf/bench/epoll-ctl.c
331
sigaction(SIGINT, &act, NULL);
tools/perf/bench/epoll-wait.c
434
struct sigaction act;
tools/perf/bench/epoll-wait.c
450
sigaction(SIGINT, &act, NULL);
tools/perf/bench/futex-hash.c
131
struct sigaction act;
tools/perf/bench/futex-hash.c
152
sigaction(SIGINT, &act, NULL);
tools/perf/bench/futex-lock-pi.c
171
struct sigaction act;
tools/perf/bench/futex-lock-pi.c
185
sigaction(SIGINT, &act, NULL);
tools/perf/bench/futex-requeue.c
173
struct sigaction act;
tools/perf/bench/futex-requeue.c
187
sigaction(SIGINT, &act, NULL);
tools/perf/bench/futex-wake-parallel.c
250
struct sigaction act;
tools/perf/bench/futex-wake-parallel.c
264
sigaction(SIGINT, &act, NULL);
tools/perf/bench/futex-wake.c
146
struct sigaction act;
tools/perf/bench/futex-wake.c
162
sigaction(SIGINT, &act, NULL);
tools/perf/builtin-trace.c
5488
struct sigaction sigchld_act;
tools/perf/builtin-trace.c
5497
sigaction(SIGCHLD, &sigchld_act, NULL);
tools/perf/tests/bp_signal.c
167
struct sigaction sa;
tools/perf/tests/bp_signal.c
176
memset(&sa, 0, sizeof(struct sigaction));
tools/perf/tests/bp_signal.c
180
if (sigaction(SIGIO, &sa, NULL) < 0) {
tools/perf/tests/bp_signal.c
186
if (sigaction(SIGUSR1, &sa, NULL) < 0) {
tools/perf/tests/bp_signal_overflow.c
66
struct sigaction sa;
tools/perf/tests/bp_signal_overflow.c
76
memset(&sa, 0, sizeof(struct sigaction));
tools/perf/tests/bp_signal_overflow.c
80
if (sigaction(SIGIO, &sa, NULL) < 0) {
tools/perf/tests/sigtrap.c
222
struct sigaction action = {};
tools/perf/tests/sigtrap.c
223
struct sigaction oldact;
tools/perf/tests/sigtrap.c
239
if (sigaction(SIGTRAP, &action, &oldact)) {
tools/perf/tests/sigtrap.c
268
sigaction(SIGTRAP, &oldact, NULL);
tools/perf/util/evlist.c
1549
struct sigaction act = {
tools/perf/util/evlist.c
1553
sigaction(SIGUSR1, &act, NULL);
tools/power/x86/intel-speed-select/isst-daemon.c
151
struct sigaction sig_actions;
tools/power/x86/intel-speed-select/isst-daemon.c
169
sigaction(SIGHUP, &sig_actions, NULL);
tools/power/x86/intel-speed-select/isst-daemon.c
170
sigaction(SIGTERM, &sig_actions, NULL);
tools/power/x86/intel-speed-select/isst-daemon.c
171
sigaction(SIGINT, &sig_actions, NULL);
tools/power/x86/turbostat/turbostat.c
6648
struct sigaction sa;
tools/power/x86/turbostat/turbostat.c
6654
if (sigaction(SIGINT, &sa, NULL) < 0)
tools/power/x86/turbostat/turbostat.c
6656
if (sigaction(SIGUSR1, &sa, NULL) < 0)
tools/testing/selftests/arm64/abi/hwcap.c
1249
struct sigaction sa;
tools/testing/selftests/arm64/abi/hwcap.c
1255
ret = sigaction(signum, &sa, NULL);
tools/testing/selftests/arm64/abi/hwcap.c
1265
if (sigaction(signum, NULL, NULL) < 0)
tools/testing/selftests/arm64/abi/hwcap.c
609
struct sigaction ign, old;
tools/testing/selftests/arm64/abi/hwcap.c
623
sigaction(SIGBUS, &ign, &old);
tools/testing/selftests/arm64/abi/hwcap.c
636
sigaction(SIGBUS, &old, NULL);
tools/testing/selftests/arm64/bti/signal.c
29
int sigaction(int n, struct sigaction *sa, const struct sigaction *old)
tools/testing/selftests/arm64/bti/signal.h
18
int sigaction(int n, struct sigaction *sa, const struct sigaction *old);
tools/testing/selftests/arm64/bti/test.c
155
struct sigaction sa;
tools/testing/selftests/arm64/bti/test.c
209
sigaction(SIGILL, &sa, NULL);
tools/testing/selftests/arm64/fp/fp-ptrace.c
1616
struct sigaction sa;
tools/testing/selftests/arm64/fp/fp-ptrace.c
1667
ret = sigaction(SIGALRM, &sa, NULL);
tools/testing/selftests/arm64/fp/fp-stress.c
462
struct sigaction sa;
tools/testing/selftests/arm64/fp/fp-stress.c
536
ret = sigaction(SIGINT, &sa, NULL);
tools/testing/selftests/arm64/fp/fp-stress.c
540
ret = sigaction(SIGTERM, &sa, NULL);
tools/testing/selftests/arm64/fp/fp-stress.c
545
ret = sigaction(SIGCHLD, &sa, NULL);
tools/testing/selftests/arm64/fp/kernel-test.c
251
struct sigaction sa;
tools/testing/selftests/arm64/fp/kernel-test.c
262
ret = sigaction(SIGTERM, &sa, NULL);
tools/testing/selftests/arm64/fp/kernel-test.c
268
ret = sigaction(SIGUSR1, &sa, NULL);
tools/testing/selftests/arm64/fp/kernel-test.c
272
ret = sigaction(SIGUSR2, &sa, NULL);
tools/testing/selftests/arm64/gcs/gcs-stress.c
359
struct sigaction sa;
tools/testing/selftests/arm64/gcs/gcs-stress.c
420
ret = sigaction(SIGINT, &sa, NULL);
tools/testing/selftests/arm64/gcs/gcs-stress.c
424
ret = sigaction(SIGTERM, &sa, NULL);
tools/testing/selftests/arm64/gcs/gcs-stress.c
429
ret = sigaction(SIGCHLD, &sa, NULL);
tools/testing/selftests/arm64/mte/mte_common_util.c
111
struct sigaction sa;
tools/testing/selftests/arm64/mte/mte_common_util.c
120
sigaction(signal, &sa, NULL);
tools/testing/selftests/arm64/mte/mte_common_util.c
38
struct sigaction sa;
tools/testing/selftests/arm64/mte/mte_common_util.c
42
sigaction(signum, NULL, &sa);
tools/testing/selftests/arm64/pauth/pac.c
201
struct sigaction sa;
tools/testing/selftests/arm64/pauth/pac.c
209
sigaction(SIGSEGV, &sa, NULL);
tools/testing/selftests/arm64/pauth/pac.c
210
sigaction(SIGILL, &sa, NULL);
tools/testing/selftests/arm64/signal/test_signals_utils.c
271
struct sigaction sa;
tools/testing/selftests/arm64/signal/test_signals_utils.c
279
sigaction(sig, &sa, NULL);
tools/testing/selftests/arm64/signal/test_signals_utils.c
286
sigaction(sig, &sa, NULL);
tools/testing/selftests/bpf/bench.c
435
static struct sigaction sigalarm_action = {
tools/testing/selftests/bpf/bench.c
442
err = sigaction(SIGALRM, &sigalarm_action, NULL);
tools/testing/selftests/bpf/prog_tests/perf_skip.c
136
sigaction(SIGTRAP, &previous_sigtrap, NULL);
tools/testing/selftests/bpf/prog_tests/perf_skip.c
37
struct sigaction action = {};
tools/testing/selftests/bpf/prog_tests/perf_skip.c
38
struct sigaction previous_sigtrap;
tools/testing/selftests/bpf/prog_tests/perf_skip.c
50
if (!ASSERT_OK(sigaction(SIGTRAP, &action, &previous_sigtrap), "sigaction"))
tools/testing/selftests/bpf/prog_tests/send_signal.c
24
struct sigaction sa;
tools/testing/selftests/bpf/prog_tests/send_signal.c
56
ASSERT_NEQ(sigaction(SIGUSR1, &sa, NULL), -1, "sigaction");
tools/testing/selftests/bpf/prog_tests/signal_pending.c
33
err = sigaction(SIGALRM, &sigalrm_action, NULL);
tools/testing/selftests/bpf/prog_tests/signal_pending.c
6
static struct sigaction sigalrm_action = {
tools/testing/selftests/bpf/test_progs.c
1689
struct sigaction sigact_int = {
tools/testing/selftests/bpf/test_progs.c
1695
sigaction(SIGINT, &sigact_int, NULL);
tools/testing/selftests/bpf/test_progs.c
1964
struct sigaction sigact = {
tools/testing/selftests/bpf/test_progs.c
1968
sigaction(SIGSEGV, &sigact, NULL);
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
203
struct sigaction act;
tools/testing/selftests/breakpoints/breakpoint_test_arm64.c
213
sigaction(SIGALRM, &act, NULL);
tools/testing/selftests/clone3/clone3_clear_sighand.c
47
struct sigaction act;
tools/testing/selftests/clone3/clone3_clear_sighand.c
69
ret = sigaction(SIGUSR1, &act, NULL);
tools/testing/selftests/clone3/clone3_clear_sighand.c
76
ret = sigaction(SIGUSR2, &act, NULL);
tools/testing/selftests/clone3/clone3_clear_sighand.c
90
ret = sigaction(SIGUSR1, NULL, &act);
tools/testing/selftests/clone3/clone3_clear_sighand.c
97
ret = sigaction(SIGUSR2, NULL, &act);
tools/testing/selftests/filesystems/dnotify_test.c
18
struct sigaction act;
tools/testing/selftests/filesystems/dnotify_test.c
24
sigaction(SIGRTMIN + 1, &act, NULL);
tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
101
struct sigaction sa;
tools/testing/selftests/futex/functional/futex_requeue_pi_signal_restart.c
108
if (sigaction(SIGUSR1, &sa, NULL))
tools/testing/selftests/kvm/arm64/host_sve.c
40
struct sigaction sa = {
tools/testing/selftests/kvm/arm64/host_sve.c
44
sigaction(SIGILL, &sa, NULL);
tools/testing/selftests/kvm/arm64/sea_to_user.c
136
struct sigaction act;
tools/testing/selftests/kvm/arm64/sea_to_user.c
142
TEST_ASSERT(sigaction(SIGBUS, &act, NULL) == 0,
tools/testing/selftests/kvm/include/test_util.h
88
struct sigaction sa_old, sa_new = { \
tools/testing/selftests/kvm/include/test_util.h
92
sigaction(SIGBUS, &sa_new, &sa_old); \
tools/testing/selftests/kvm/include/test_util.h
97
sigaction(SIGBUS, &sa_old, NULL); \
tools/testing/selftests/kvm/lib/kvm_util.c
2349
struct sigaction sig_sa = {
tools/testing/selftests/kvm/lib/kvm_util.c
2356
sigaction(SIGBUS, &sig_sa, NULL);
tools/testing/selftests/kvm/lib/kvm_util.c
2357
sigaction(SIGSEGV, &sig_sa, NULL);
tools/testing/selftests/kvm/lib/kvm_util.c
2358
sigaction(SIGILL, &sig_sa, NULL);
tools/testing/selftests/kvm/lib/kvm_util.c
2359
sigaction(SIGFPE, &sig_sa, NULL);
tools/testing/selftests/kvm/x86/xen_shinfo_test.c
572
struct sigaction sa = { };
tools/testing/selftests/kvm/x86/xen_shinfo_test.c
574
sigaction(SIGALRM, &sa, NULL);
tools/testing/selftests/landlock/scoped_signal_test.c
392
struct sigaction sa = {
tools/testing/selftests/landlock/scoped_signal_test.c
400
return sigaction(SIGURG, &sa, NULL);
tools/testing/selftests/landlock/scoped_signal_test.c
85
struct sigaction action = {
tools/testing/selftests/landlock/scoped_signal_test.c
92
ASSERT_LE(0, sigaction(variant->sig, &action, NULL));
tools/testing/selftests/landlock/tsync_test.c
208
struct sigaction sa = {};
tools/testing/selftests/landlock/tsync_test.c
216
ASSERT_EQ(0, sigaction(SIGUSR1, &sa, NULL));
tools/testing/selftests/mm/guard-regions.c
179
struct sigaction act = {
tools/testing/selftests/mm/guard-regions.c
185
if (sigaction(SIGSEGV, &act, NULL))
tools/testing/selftests/mm/guard-regions.c
191
struct sigaction act = {
tools/testing/selftests/mm/guard-regions.c
197
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/mm/memory-failure.c
118
struct sigaction sa = {
tools/testing/selftests/mm/memory-failure.c
123
sigaction(SIGBUS, &sa, NULL);
tools/testing/selftests/mm/memory-failure.c
89
struct sigaction sa = {
tools/testing/selftests/mm/memory-failure.c
94
return sigaction(SIGBUS, &sa, NULL);
tools/testing/selftests/mm/pkey_sighandler_tests.c
207
struct sigaction sa;
tools/testing/selftests/mm/pkey_sighandler_tests.c
215
if (sigaction(SIGSEGV, &sa, NULL) == -1) {
tools/testing/selftests/mm/pkey_sighandler_tests.c
247
struct sigaction sa;
tools/testing/selftests/mm/pkey_sighandler_tests.c
255
if (sigaction(SIGSEGV, &sa, NULL) == -1) {
tools/testing/selftests/mm/pkey_sighandler_tests.c
284
struct sigaction sa;
tools/testing/selftests/mm/pkey_sighandler_tests.c
297
if (sigaction(SIGSEGV, &sa, NULL) == -1) {
tools/testing/selftests/mm/pkey_sighandler_tests.c
359
struct sigaction sa;
tools/testing/selftests/mm/pkey_sighandler_tests.c
372
if (sigaction(SIGUSR1, &sa, NULL) == -1) {
tools/testing/selftests/mm/pkey_sighandler_tests.c
440
struct sigaction sa = {0};
tools/testing/selftests/mm/pkey_sighandler_tests.c
456
if (sigaction(SIGSEGV, &sa, NULL) == -1) {
tools/testing/selftests/mm/pkey_sighandler_tests.c
465
if (sigaction(SIGUSR2, &sa, NULL) == -1) {
tools/testing/selftests/mm/protection_keys.c
416
struct sigaction newact;
tools/testing/selftests/mm/protection_keys.c
417
struct sigaction oldact;
tools/testing/selftests/mm/protection_keys.c
434
r = sigaction(signum, &newact, &oldact);
tools/testing/selftests/mm/protection_keys.c
435
r = sigaction(SIGALRM, &newact, &oldact);
tools/testing/selftests/mm/uffd-unit-tests.c
1024
struct sigaction act = { 0 };
tools/testing/selftests/mm/uffd-unit-tests.c
1047
if (sigaction(SIGBUS, &act, 0))
tools/testing/selftests/mm/uffd-unit-tests.c
664
struct sigaction act;
tools/testing/selftests/mm/uffd-unit-tests.c
674
if (sigaction(SIGBUS, &act, 0))
tools/testing/selftests/mqueue/mq_perf_tests.c
548
struct sigaction sa;
tools/testing/selftests/mqueue/mq_perf_tests.c
701
if (sigaction(SIGUSR1, &sa, NULL) == -1)
tools/testing/selftests/mqueue/mq_perf_tests.c
704
if (sigaction(SIGHUP, &sa, NULL) == -1)
tools/testing/selftests/mqueue/mq_perf_tests.c
706
if (sigaction(SIGINT, &sa, NULL) == -1)
tools/testing/selftests/mqueue/mq_perf_tests.c
708
if (sigaction(SIGQUIT, &sa, NULL) == -1)
tools/testing/selftests/mqueue/mq_perf_tests.c
710
if (sigaction(SIGTERM, &sa, NULL) == -1)
tools/testing/selftests/net/netfilter/audit_logread.c
143
struct sigaction act = {
tools/testing/selftests/net/netfilter/audit_logread.c
153
if (sigaction(SIGTERM, &act, NULL) < 0 ||
tools/testing/selftests/net/netfilter/audit_logread.c
154
sigaction(SIGINT, &act, NULL) < 0) {
tools/testing/selftests/net/netfilter/connect_close.c
31
struct sigaction action = {
tools/testing/selftests/net/netfilter/connect_close.c
35
sigaction(SIGALRM, &action, NULL);
tools/testing/selftests/net/tcp_ao/lib/setup.c
231
struct sigaction sa = {
tools/testing/selftests/net/tcp_ao/lib/setup.c
238
if (sigaction(SIGINT, &sa, NULL))
tools/testing/selftests/perf_events/remove_on_exec.c
231
struct sigaction action = {};
tools/testing/selftests/perf_events/remove_on_exec.c
238
if (sigaction(SIGTRAP, &action, NULL))
tools/testing/selftests/perf_events/remove_on_exec.c
71
struct sigaction oldact;
tools/testing/selftests/perf_events/remove_on_exec.c
78
struct sigaction action = {};
tools/testing/selftests/perf_events/remove_on_exec.c
86
ASSERT_EQ(sigaction(SIGTRAP, &action, &self->oldact), 0);
tools/testing/selftests/perf_events/remove_on_exec.c
96
sigaction(SIGTRAP, &self->oldact, NULL);
tools/testing/selftests/perf_events/sigtrap_threads.c
112
struct sigaction oldact;
tools/testing/selftests/perf_events/sigtrap_threads.c
121
struct sigaction action = {};
tools/testing/selftests/perf_events/sigtrap_threads.c
130
ASSERT_EQ(sigaction(SIGTRAP, &action, &self->oldact), 0);
tools/testing/selftests/perf_events/sigtrap_threads.c
146
sigaction(SIGTRAP, &self->oldact, NULL);
tools/testing/selftests/perf_events/watermark_signal.c
141
sigaction(SIGIO, &previous_sigio, NULL);
tools/testing/selftests/perf_events/watermark_signal.c
45
struct sigaction previous_sigio, sigio = { 0 };
tools/testing/selftests/perf_events/watermark_signal.c
52
EXPECT_EQ(sigaction(SIGIO, &sigio, &previous_sigio), 0);
tools/testing/selftests/powerpc/alignment/alignment_handler.c
619
struct sigaction sa;
tools/testing/selftests/powerpc/alignment/alignment_handler.c
646
if (sigaction(SIGSEGV, &sa, NULL) == -1
tools/testing/selftests/powerpc/alignment/alignment_handler.c
647
|| sigaction(SIGBUS, &sa, NULL) == -1
tools/testing/selftests/powerpc/alignment/alignment_handler.c
648
|| sigaction(SIGILL, &sa, NULL) == -1) {
tools/testing/selftests/powerpc/alignment/copy_first_unaligned.c
39
struct sigaction signal_action;
tools/testing/selftests/powerpc/alignment/copy_first_unaligned.c
44
sigaction(SIGBUS, &signal_action, NULL);
tools/testing/selftests/powerpc/copyloops/exc_validate.c
46
struct sigaction action;
tools/testing/selftests/powerpc/copyloops/exc_validate.c
51
sigaction(SIGSEGV, &action, NULL);
tools/testing/selftests/powerpc/dexcr/dexcr.c
23
struct sigaction old;
tools/testing/selftests/powerpc/dexcr/dexcr.c
92
struct sigaction old;
tools/testing/selftests/powerpc/dexcr/hashchk_test.c
55
struct sigaction old;
tools/testing/selftests/powerpc/harness.c
111
if (sigaction(SIGINT, &sig_action, NULL)) {
tools/testing/selftests/powerpc/harness.c
117
if (sigaction(SIGALRM, &sig_action, NULL)) {
tools/testing/selftests/powerpc/harness.c
95
static struct sigaction sig_action = {
tools/testing/selftests/powerpc/include/utils.h
115
struct sigaction push_signal_handler(int sig, void (*fn)(int, siginfo_t *, void *));
tools/testing/selftests/powerpc/include/utils.h
116
struct sigaction pop_signal_handler(int sig, struct sigaction old_handler);
tools/testing/selftests/powerpc/math/fpu_signal.c
57
struct sigaction act;
tools/testing/selftests/powerpc/math/fpu_signal.c
60
rc = sigaction(SIGUSR1, &act, NULL);
tools/testing/selftests/powerpc/math/vmx_signal.c
76
struct sigaction act;
tools/testing/selftests/powerpc/math/vmx_signal.c
79
rc = sigaction(SIGUSR1, &act, NULL);
tools/testing/selftests/powerpc/mce/inject-ra-err.c
33
struct sigaction act = {
tools/testing/selftests/powerpc/mce/inject-ra-err.c
47
FAIL_IF(sigaction(SIGBUS, &act, NULL) != 0);
tools/testing/selftests/powerpc/mm/bad_accesses.c
70
struct sigaction sig;
tools/testing/selftests/powerpc/mm/bad_accesses.c
73
sig = (struct sigaction) {
tools/testing/selftests/powerpc/mm/bad_accesses.c
78
FAIL_IF(sigaction(SIGSEGV, &sig, NULL) != 0);
tools/testing/selftests/powerpc/mm/exec_prot.c
110
struct sigaction segv_act, trap_act;
tools/testing/selftests/powerpc/mm/exec_prot.c
125
FAIL_IF(sigaction(SIGSEGV, &segv_act, NULL) != 0);
tools/testing/selftests/powerpc/mm/exec_prot.c
133
FAIL_IF(sigaction(SIGTRAP, &trap_act, NULL) != 0);
tools/testing/selftests/powerpc/mm/large_vm_gpr_corruption.c
107
struct sigaction action;
tools/testing/selftests/powerpc/mm/large_vm_gpr_corruption.c
134
FAIL_IF(sigaction(SIGALRM, &action, NULL) < 0);
tools/testing/selftests/powerpc/mm/pkey_exec_prot.c
104
struct sigaction segv_act, trap_act;
tools/testing/selftests/powerpc/mm/pkey_exec_prot.c
118
FAIL_IF(sigaction(SIGSEGV, &segv_act, NULL) != 0);
tools/testing/selftests/powerpc/mm/pkey_exec_prot.c
126
FAIL_IF(sigaction(SIGTRAP, &trap_act, NULL) != 0);
tools/testing/selftests/powerpc/mm/pkey_siginfo.c
243
struct sigaction act;
tools/testing/selftests/powerpc/mm/pkey_siginfo.c
275
FAIL_IF(sigaction(SIGSEGV, &act, NULL) != 0);
tools/testing/selftests/powerpc/mm/segv_errors.c
37
struct sigaction act = {
tools/testing/selftests/powerpc/mm/segv_errors.c
46
FAIL_IF(sigaction(SIGSEGV, &act, NULL) != 0);
tools/testing/selftests/powerpc/mm/stack_expansion_signal.c
52
struct sigaction act;
tools/testing/selftests/powerpc/mm/stack_expansion_signal.c
58
if (sigaction(SIGUSR1, &act, NULL) < 0)
tools/testing/selftests/powerpc/mm/subpage_prot.c
151
struct sigaction act = {
tools/testing/selftests/powerpc/mm/subpage_prot.c
165
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/powerpc/mm/subpage_prot.c
187
struct sigaction act = {
tools/testing/selftests/powerpc/mm/subpage_prot.c
202
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/powerpc/mm/tlbie_test.c
440
struct sigaction sa;
tools/testing/selftests/powerpc/mm/tlbie_test.c
445
if (sigaction(SIGSEGV, &sa, NULL) == -1) {
tools/testing/selftests/powerpc/mm/tlbie_test.c
621
struct sigaction sa_alrm;
tools/testing/selftests/powerpc/mm/tlbie_test.c
701
if (sigaction(SIGALRM, &sa_alrm, 0) == -1) {
tools/testing/selftests/powerpc/mm/wild_bctr.c
126
struct sigaction segv = {
tools/testing/selftests/powerpc/mm/wild_bctr.c
130
struct sigaction usr2 = {
tools/testing/selftests/powerpc/mm/wild_bctr.c
135
FAIL_IF(sigaction(SIGSEGV, &segv, NULL));
tools/testing/selftests/powerpc/mm/wild_bctr.c
136
FAIL_IF(sigaction(SIGUSR2, &usr2, NULL));
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
1005
struct sigaction act;
tools/testing/selftests/powerpc/nx-gzip/gunz_test.c
1015
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/powerpc/nx-gzip/gzfht_test.c
375
struct sigaction act;
tools/testing/selftests/powerpc/nx-gzip/gzfht_test.c
385
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/powerpc/pmu/ebb/ebb.c
416
static struct sigaction sigill_action = {
tools/testing/selftests/powerpc/pmu/ebb/ebb.c
422
if (sigaction(SIGILL, &sigill_action, NULL)) {
tools/testing/selftests/powerpc/pmu/ebb/ebb.c
473
struct sigaction term_action = {
tools/testing/selftests/powerpc/pmu/ebb/ebb.c
481
if (sigaction(SIGTERM, &term_action, NULL))
tools/testing/selftests/powerpc/pmu/ebb/multi_ebb_procs_test.c
26
struct sigaction sigint_action = {
tools/testing/selftests/powerpc/pmu/ebb/multi_ebb_procs_test.c
34
if (sigaction(SIGINT, &sigint_action, NULL)) {
tools/testing/selftests/powerpc/pmu/sampling_tests/mmcr2_fcs_fch_test.c
32
struct sigaction sigact = {
tools/testing/selftests/powerpc/pmu/sampling_tests/mmcr2_fcs_fch_test.c
39
FAIL_IF(sigaction(SIGUSR2, &sigact, NULL));
tools/testing/selftests/powerpc/primitives/load_unaligned_zeropad.c
94
struct sigaction action;
tools/testing/selftests/powerpc/primitives/load_unaligned_zeropad.c
99
sigaction(SIGSEGV, &action, NULL);
tools/testing/selftests/powerpc/security/flush_utils.c
72
struct sigaction sa;
tools/testing/selftests/powerpc/security/flush_utils.c
78
if (sigaction(SIGILL, &sa, NULL))
tools/testing/selftests/powerpc/signal/sig_sc_double_restart.c
106
if (sigaction(SIGUSR1, &act, NULL) == -1) {
tools/testing/selftests/powerpc/signal/sig_sc_double_restart.c
114
if (sigaction(SIGUSR2, &act, NULL) == -1) {
tools/testing/selftests/powerpc/signal/sig_sc_double_restart.c
99
struct sigaction act;
tools/testing/selftests/powerpc/signal/sigfuz.c
201
struct sigaction trap_sa, seg_sa;
tools/testing/selftests/powerpc/signal/sigfuz.c
216
sigaction(SIGUSR1, &trap_sa, NULL);
tools/testing/selftests/powerpc/signal/sigfuz.c
219
sigaction(SIGSEGV, &seg_sa, NULL);
tools/testing/selftests/powerpc/signal/signal.c
39
struct sigaction act;
tools/testing/selftests/powerpc/signal/signal.c
46
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/signal/signal.c
50
if (sigaction(SIGALRM, &act, NULL) < 0) {
tools/testing/selftests/powerpc/signal/signal_tm.c
44
struct sigaction act;
tools/testing/selftests/powerpc/signal/signal_tm.c
49
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/signal/signal_tm.c
53
if (sigaction(SIGALRM, &act, NULL) < 0) {
tools/testing/selftests/powerpc/signal/sigreturn_kernel.c
60
struct sigaction act;
tools/testing/selftests/powerpc/signal/sigreturn_kernel.c
68
FAIL_IF(sigaction(SIGUSR1, &act, NULL));
tools/testing/selftests/powerpc/signal/sigreturn_unaligned.c
27
struct sigaction action;
tools/testing/selftests/powerpc/signal/sigreturn_unaligned.c
33
FAIL_IF(sigaction(SIGUSR1, &action, NULL) == -1);
tools/testing/selftests/powerpc/signal/sigreturn_vdso.c
75
struct sigaction act;
tools/testing/selftests/powerpc/signal/sigreturn_vdso.c
82
assert(sigaction(SIGUSR1, &act, NULL) == 0);
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-fpu.c
76
struct sigaction act;
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-fpu.c
87
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-gpr.c
78
struct sigaction act;
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-gpr.c
89
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vmx.c
101
struct sigaction act;
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vmx.c
112
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c
150
struct sigaction act;
tools/testing/selftests/powerpc/tm/tm-signal-context-chk-vsx.c
161
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/tm/tm-signal-context-force-tm.c
110
struct sigaction usr_sa, seg_sa;
tools/testing/selftests/powerpc/tm/tm-signal-context-force-tm.c
153
sigaction(SIGUSR1, &usr_sa, NULL);
tools/testing/selftests/powerpc/tm/tm-signal-context-force-tm.c
155
sigaction(SIGSEGV, &seg_sa, NULL);
tools/testing/selftests/powerpc/tm/tm-signal-msr-resv.c
51
struct sigaction act;
tools/testing/selftests/powerpc/tm/tm-signal-msr-resv.c
58
if (sigaction(SIGUSR1, &act, NULL) < 0) {
tools/testing/selftests/powerpc/tm/tm-signal-pagefault.c
225
struct sigaction sa;
tools/testing/selftests/powerpc/tm/tm-signal-pagefault.c
249
if (sigaction(SIGTRAP, &sa, NULL) == -1) {
tools/testing/selftests/powerpc/tm/tm-signal-sigreturn-nt.c
32
struct sigaction trap_sa;
tools/testing/selftests/powerpc/tm/tm-signal-sigreturn-nt.c
40
sigaction(SIGTRAP, &trap_sa, NULL);
tools/testing/selftests/powerpc/tm/tm-sigreturn.c
54
struct sigaction sa;
tools/testing/selftests/powerpc/tm/tm-sigreturn.c
65
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/powerpc/tm/tm-trap.c
255
struct sigaction trap_sa;
tools/testing/selftests/powerpc/tm/tm-trap.c
262
sigaction(SIGTRAP, &trap_sa, NULL);
tools/testing/selftests/powerpc/tm/tm-trap.c
264
struct sigaction usr1_sa;
tools/testing/selftests/powerpc/tm/tm-trap.c
268
sigaction(SIGUSR1, &usr1_sa, NULL);
tools/testing/selftests/powerpc/utils.c
622
struct sigaction push_signal_handler(int sig, void (*fn)(int, siginfo_t *, void *))
tools/testing/selftests/powerpc/utils.c
624
struct sigaction sa;
tools/testing/selftests/powerpc/utils.c
625
struct sigaction old_handler;
tools/testing/selftests/powerpc/utils.c
630
FAIL_IF_EXIT_MSG(sigaction(sig, &sa, &old_handler),
tools/testing/selftests/powerpc/utils.c
636
struct sigaction pop_signal_handler(int sig, struct sigaction old_handler)
tools/testing/selftests/powerpc/utils.c
638
struct sigaction popped;
tools/testing/selftests/powerpc/utils.c
640
FAIL_IF_EXIT_MSG(sigaction(sig, &old_handler, &popped),
tools/testing/selftests/proc/proc-empty-vm.c
185
struct sigaction act = {};
tools/testing/selftests/proc/proc-empty-vm.c
188
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/proc/proc-empty-vm.c
483
struct sigaction act = {};
tools/testing/selftests/proc/proc-empty-vm.c
486
sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/proc/proc-pid-vm.c
257
struct sigaction act;
tools/testing/selftests/proc/proc-pid-vm.c
258
memset(&act, 0, sizeof(struct sigaction));
tools/testing/selftests/proc/proc-pid-vm.c
261
(void)sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/resctrl/resctrl_val.c
397
struct sigaction sigact = {};
tools/testing/selftests/resctrl/resctrl_val.c
406
if (sigaction(SIGINT, &sigact, NULL) ||
tools/testing/selftests/resctrl/resctrl_val.c
407
sigaction(SIGTERM, &sigact, NULL) ||
tools/testing/selftests/resctrl/resctrl_val.c
408
sigaction(SIGHUP, &sigact, NULL)) {
tools/testing/selftests/resctrl/resctrl_val.c
422
struct sigaction sigact = {};
tools/testing/selftests/resctrl/resctrl_val.c
427
if (sigaction(SIGINT, &sigact, NULL) ||
tools/testing/selftests/resctrl/resctrl_val.c
428
sigaction(SIGTERM, &sigact, NULL) ||
tools/testing/selftests/resctrl/resctrl_val.c
429
sigaction(SIGHUP, &sigact, NULL)) {
tools/testing/selftests/riscv/cfi/cfitests.c
36
struct sigaction sa = {};
tools/testing/selftests/riscv/cfi/cfitests.c
40
if (sigaction(SIGSEGV, &sa, NULL)) {
tools/testing/selftests/riscv/cfi/shadowstack.c
289
struct sigaction sa = {};
tools/testing/selftests/riscv/cfi/shadowstack.c
294
if (sigaction(SIGUSR1, &sa, NULL)) {
tools/testing/selftests/riscv/hwprobe/cbo.c
112
struct sigaction act = {
tools/testing/selftests/riscv/hwprobe/cbo.c
116
struct sigaction dfl = {
tools/testing/selftests/riscv/hwprobe/cbo.c
123
rc = sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/riscv/hwprobe/cbo.c
125
rc = sigaction(SIGBUS, &act, NULL);
tools/testing/selftests/riscv/hwprobe/cbo.c
146
rc = sigaction(SIGBUS, &dfl, NULL);
tools/testing/selftests/riscv/hwprobe/cbo.c
148
rc = sigaction(SIGSEGV, &dfl, NULL);
tools/testing/selftests/riscv/hwprobe/cbo.c
297
struct sigaction act = {
tools/testing/selftests/riscv/hwprobe/cbo.c
314
rc = sigaction(SIGILL, &act, NULL);
tools/testing/selftests/riscv/hwprobe/cbo.c
320
rc = sigaction(SIGILL, &act, NULL);
tools/testing/selftests/riscv/sigreturn/sigreturn.c
45
struct sigaction sig_action = {
tools/testing/selftests/riscv/sigreturn/sigreturn.c
50
sigaction(SIGSEGV, &sig_action, 0);
tools/testing/selftests/rseq/param_test.c
1223
struct sigaction sa;
tools/testing/selftests/rseq/param_test.c
1235
ret = sigaction(SIGUSR1, &sa, NULL);
tools/testing/selftests/seccomp/seccomp_bpf.c
1133
struct sigaction act;
tools/testing/selftests/seccomp/seccomp_bpf.c
1142
ret = sigaction(SIGSYS, &act, NULL);
tools/testing/selftests/seccomp/seccomp_bpf.c
1539
struct sigaction action = {
tools/testing/selftests/seccomp/seccomp_bpf.c
1545
ASSERT_EQ(0, sigaction(SIGUSR1, &action, NULL));
tools/testing/selftests/seccomp/seccomp_bpf.c
4639
struct sigaction new_action = {
tools/testing/selftests/seccomp/seccomp_bpf.c
4677
if (sigaction(SIGUSR1, &new_action, NULL)) {
tools/testing/selftests/seccomp/seccomp_bpf.c
4709
struct sigaction new_action = {
tools/testing/selftests/seccomp/seccomp_bpf.c
4744
if (sigaction(SIGUSR1, &new_action, NULL)) {
tools/testing/selftests/seccomp/seccomp_bpf.c
4868
struct sigaction new_action = {
tools/testing/selftests/seccomp/seccomp_bpf.c
4881
if (sigaction(SIGALRM, &new_action, NULL)) {
tools/testing/selftests/signal/mangle_uc_sigmask.c
124
struct sigaction act, act2;
tools/testing/selftests/signal/mangle_uc_sigmask.c
138
if (sigaction(SIGUSR1, &act, NULL))
tools/testing/selftests/signal/mangle_uc_sigmask.c
144
if (sigaction(SIGSEGV, &act2, NULL))
tools/testing/selftests/signal/mangle_uc_sigmask.c
161
if (sigaction(SIGUSR1, &act, NULL))
tools/testing/selftests/signal/sas.c
108
struct sigaction act;
tools/testing/selftests/signal/sas.c
122
sigaction(SIGUSR1, &act, NULL);
tools/testing/selftests/signal/sas.c
124
sigaction(SIGUSR2, &act, NULL);
tools/testing/selftests/syscall_user_dispatch/sud_benchmark.c
138
struct sigaction act;
tools/testing/selftests/syscall_user_dispatch/sud_benchmark.c
155
ret = sigaction(SIGSYS, &act, NULL);
tools/testing/selftests/syscall_user_dispatch/sud_test.c
199
struct sigaction act;
tools/testing/selftests/syscall_user_dispatch/sud_test.c
207
return sigaction(SIGSYS, &act, NULL);
tools/testing/selftests/syscall_user_dispatch/sud_test.c
258
struct sigaction act;
tools/testing/selftests/syscall_user_dispatch/sud_test.c
274
ret = sigaction(SIGSYS, &act, NULL);
tools/testing/selftests/timers/alarmtimer-suspend.c
110
struct sigaction act;
tools/testing/selftests/timers/alarmtimer-suspend.c
117
sigaction(signum, &act, NULL);
tools/testing/selftests/timers/leap-a-day.c
180
struct sigaction act;
tools/testing/selftests/timers/leap-a-day.c
228
sigaction(signum, &act, NULL);
tools/testing/selftests/timers/nanosleep.c
128
struct sigaction sa = {};
tools/testing/selftests/timers/nanosleep.c
133
ret = sigaction(SIGALRM, &sa, NULL);
tools/testing/selftests/timers/nanosleep.c
156
ret = sigaction(SIGALRM, &sa, NULL);
tools/testing/selftests/timers/posix_timers.c
263
struct sigaction sa;
tools/testing/selftests/timers/posix_timers.c
278
if (sigaction(SIGUSR1, &sa, NULL))
tools/testing/selftests/timers/posix_timers.c
323
if (sigaction(SIGUSR1, &sa, NULL))
tools/testing/selftests/timers/posix_timers.c
348
struct sigaction sa;
tools/testing/selftests/timers/posix_timers.c
356
if (sigaction(SIGUSR1, &sa, NULL))
tools/testing/selftests/timers/posix_timers.c
404
struct sigaction sa;
tools/testing/selftests/timers/posix_timers.c
412
if (sigaction(SIGUSR1, &sa, NULL))
tools/testing/selftests/timers/posix_timers.c
553
struct sigaction sa;
tools/testing/selftests/timers/posix_timers.c
561
if (sigaction(SIGUSR1, &sa, NULL))
tools/testing/selftests/timers/set-timer-lat.c
242
struct sigaction act;
tools/testing/selftests/timers/set-timer-lat.c
251
sigaction(signum, &act, NULL);
tools/testing/selftests/uevent/uevent_filtering.c
353
struct sigaction act;
tools/testing/selftests/uevent/uevent_filtering.c
374
ret = sigaction(SIGTERM, &act, NULL);
tools/testing/selftests/x86/helpers.h
32
struct sigaction sa;
tools/testing/selftests/x86/helpers.h
38
if (sigaction(sig, &sa, 0))
tools/testing/selftests/x86/helpers.h
44
struct sigaction sa;
tools/testing/selftests/x86/helpers.h
49
if (sigaction(sig, &sa, 0))
tools/testing/selftests/x86/nx_stack.c
164
struct sigaction act = {};
tools/testing/selftests/x86/nx_stack.c
168
int rv = sigaction(SIGSEGV, &act, NULL);
tools/testing/selftests/x86/nx_stack.c
172
struct sigaction act = {};
tools/testing/selftests/x86/nx_stack.c
176
int rv = sigaction(SIGTRAP, &act, NULL);
tools/testing/selftests/x86/ptrace_syscall.c
100
struct sigaction sa;
tools/testing/selftests/x86/ptrace_syscall.c
105
if (sigaction(sig, &sa, 0))
tools/testing/selftests/x86/sigtrap_loop.c
22
struct sigaction sa;
tools/testing/selftests/x86/sigtrap_loop.c
29
if (sigaction(sig, &sa, 0))
tools/testing/selftests/x86/test_shadow_stack.c
222
struct sigaction sa = {};
tools/testing/selftests/x86/test_shadow_stack.c
226
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/x86/test_shadow_stack.c
318
struct sigaction sa = {};
tools/testing/selftests/x86/test_shadow_stack.c
324
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/x86/test_shadow_stack.c
401
struct sigaction sa = {};
tools/testing/selftests/x86/test_shadow_stack.c
405
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/x86/test_shadow_stack.c
486
struct sigaction sa = {};
tools/testing/selftests/x86/test_shadow_stack.c
493
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/x86/test_shadow_stack.c
665
int sigaction32(int signum, const struct sigaction *restrict act,
tools/testing/selftests/x86/test_shadow_stack.c
666
struct sigaction *restrict oldact)
tools/testing/selftests/x86/test_shadow_stack.c
703
struct sigaction sa = {};
tools/testing/selftests/x86/test_shadow_stack.c
704
struct sigaction *sa32;
tools/testing/selftests/x86/test_shadow_stack.c
713
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/x86/test_shadow_stack.c
818
struct sigaction sa = {};
tools/testing/selftests/x86/test_shadow_stack.c
838
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/selftests/x86/test_shadow_stack.c
885
struct sigaction sa= {};
tools/testing/selftests/x86/test_shadow_stack.c
899
if (sigaction(SIGSEGV, &sa, NULL))
tools/testing/vsock/util.c
34
struct sigaction act = {
tools/testing/vsock/util.c
38
sigaction(SIGALRM, &act, NULL);
tools/testing/vsock/vsock_test.c
1140
struct sigaction act = {
tools/testing/vsock/vsock_test.c
1144
sigaction(SIGPIPE, &act, NULL);
tools/testing/vsock/vsock_test.c
1183
struct sigaction act = {
tools/testing/vsock/vsock_test.c
1187
sigaction(SIGPIPE, &act, NULL);
tools/tracing/latency/latency-collector.c
302
const struct sigaction *act,
tools/tracing/latency/latency-collector.c
303
struct sigaction *oldact)
tools/tracing/latency/latency-collector.c
305
if (unlikely(sigaction(signum, act, oldact) != 0)) {
tools/tracing/latency/latency-collector.c
483
struct sigaction sa;
tools/usb/usbip/src/usbipd.c
453
struct sigaction act;
tools/usb/usbip/src/usbipd.c
458
sigaction(SIGTERM, &act, NULL);
tools/usb/usbip/src/usbipd.c
459
sigaction(SIGINT, &act, NULL);
tools/usb/usbip/src/usbipd.c
461
sigaction(SIGCHLD, &act, NULL);