Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 2026 21:04:52 +0000
From:      Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav <des@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: 863b5c137a98 - main - system(3): Fix brain glitch in previous commit
Message-ID:  <69af35f4.374ca.7489b814@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by des:

URL: https://cgit.FreeBSD.org/src/commit/?id=863b5c137a98d29dc6964cba0e0c4fe2a8bebab8

commit 863b5c137a98d29dc6964cba0e0c4fe2a8bebab8
Author:     Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-03-09 21:00:52 +0000
Commit:     Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-03-09 21:01:41 +0000

    system(3): Fix brain glitch in previous commit
    
    We were saving SIGINT twice instead of SIGINT and SIGQUIT.
    
    Also restore original order of operations (SIGINT then SIGQUIT), which
    matches the order in which they're discussed in the POSIX description
    of system(3).
    
    MFC after:      1 week
    Sponsored by:   Klara, Inc.
    Fixes:          48368f702423 ("system(3): Address test robustness issue")
---
 lib/libc/tests/stdlib/system_test.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/lib/libc/tests/stdlib/system_test.c b/lib/libc/tests/stdlib/system_test.c
index cb6ecdb28065..9e556f257791 100644
--- a/lib/libc/tests/stdlib/system_test.c
+++ b/lib/libc/tests/stdlib/system_test.c
@@ -128,7 +128,7 @@ ATF_TC_BODY(system_concurrent, tc)
 
 	/* Save the current signal dispositions */
 	ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigint));
-	ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigquit));
+	ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigquit));
 	ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &normset));
 
 	/* Spawn threads which block on these files */
@@ -149,10 +149,10 @@ ATF_TC_BODY(system_concurrent, tc)
 	/* Release the locks */
 	for (int i = 0; i < N; i++) {
 		/* Check the signal dispositions */
-		ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact));
-		ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler);
 		ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigact));
 		ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler);
+		ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact));
+		ATF_CHECK_EQ(SIG_IGN, sigact.sa_handler);
 #ifndef PROCMASK_IS_THREADMASK
 		ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &sigset));
 		ATF_CHECK(sigismember(&sigset, SIGCHLD));
@@ -167,14 +167,14 @@ ATF_TC_BODY(system_concurrent, tc)
 	}
 
 	/* Check the signal dispositions */
-	ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact));
-	ATF_CHECK_EQ(sigquit.sa_handler, sigact.sa_handler);
-	ATF_CHECK_EQ(sigquit.sa_flags, sigact.sa_flags);
-	ATF_CHECK_EQ(0, sigcmpset(&sigquit.sa_mask, &sigact.sa_mask));
 	ATF_REQUIRE_EQ(0, sigaction(SIGINT, NULL, &sigact));
 	ATF_CHECK_EQ(sigint.sa_handler, sigact.sa_handler);
 	ATF_CHECK_EQ(sigint.sa_flags, sigact.sa_flags);
 	ATF_CHECK_EQ(0, sigcmpset(&sigint.sa_mask, &sigact.sa_mask));
+	ATF_REQUIRE_EQ(0, sigaction(SIGQUIT, NULL, &sigact));
+	ATF_CHECK_EQ(sigquit.sa_handler, sigact.sa_handler);
+	ATF_CHECK_EQ(sigquit.sa_flags, sigact.sa_flags);
+	ATF_CHECK_EQ(0, sigcmpset(&sigquit.sa_mask, &sigact.sa_mask));
 	ATF_REQUIRE_EQ(0, sigprocmask(0, NULL, &sigset));
 	ATF_CHECK_EQ(0, sigcmpset(&sigset, &normset));
 }


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69af35f4.374ca.7489b814>