diff options
| author | Kyle Evans <kevans@FreeBSD.org> | 2025-05-29 20:08:50 +0000 |
|---|---|---|
| committer | Kyle Evans <kevans@FreeBSD.org> | 2025-05-29 20:08:50 +0000 |
| commit | d5e5e24179f4a98efaadea2b3c43006b322d7f15 (patch) | |
| tree | ad9c277a4a3d234eafdcb5e2e5bdd2bfea47728a /usr.bin/mail | |
| parent | 2e47009079fc01ca05c9779d85616e1df037693c (diff) | |
Diffstat (limited to 'usr.bin/mail')
| -rw-r--r-- | usr.bin/mail/tests/mailx_signal_test.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/usr.bin/mail/tests/mailx_signal_test.c b/usr.bin/mail/tests/mailx_signal_test.c index d4ce1e536935..be03b54fd51e 100644 --- a/usr.bin/mail/tests/mailx_signal_test.c +++ b/usr.bin/mail/tests/mailx_signal_test.c @@ -50,6 +50,17 @@ mailx_signal_test(int signo, bool interactive) atf_tc_fail("failed to fork"); if (pid == 0) { /* child */ + sigset_t set; + + /* + * Ensure mailx(1) will handle SIGINT; i.e., that it's not + * ignored or blocked. + */ + (void)signal(signo, SIG_DFL); + sigemptyset(&set); + sigaddset(&set, signo); + ATF_REQUIRE_INTEQ(0, sigprocmask(SIG_UNBLOCK, &set, NULL)); + dup2(ipd[0], STDIN_FILENO); close(ipd[0]); close(ipd[1]); |
