aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/mail
diff options
context:
space:
mode:
authorKyle Evans <kevans@FreeBSD.org>2025-05-29 20:08:50 +0000
committerKyle Evans <kevans@FreeBSD.org>2025-05-29 20:08:50 +0000
commitd5e5e24179f4a98efaadea2b3c43006b322d7f15 (patch)
treead9c277a4a3d234eafdcb5e2e5bdd2bfea47728a /usr.bin/mail
parent2e47009079fc01ca05c9779d85616e1df037693c (diff)
Diffstat (limited to 'usr.bin/mail')
-rw-r--r--usr.bin/mail/tests/mailx_signal_test.c11
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]);