Date: Mon, 16 Feb 2026 17:58:16 +0000 From: Konstantin Belousov <kib@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 94e4de77dec8 - main - pdrfork(2) tests: split basic_usage Message-ID: <69935ab8.35f9a.2977397c@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=94e4de77dec809fa5a6975e3495a41d1924c25ad commit 94e4de77dec809fa5a6975e3495a41d1924c25ad Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2026-02-15 15:22:19 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2026-02-16 17:57:53 +0000 pdrfork(2) tests: split basic_usage into pdrfork(2) call itself, and basic_usage_tail() that checks the pdrfork(2) results. Tested by: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55306 --- tests/sys/kern/pdrfork.c | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/tests/sys/kern/pdrfork.c b/tests/sys/kern/pdrfork.c index 943e7fde835a..658ffe117bbb 100644 --- a/tests/sys/kern/pdrfork.c +++ b/tests/sys/kern/pdrfork.c @@ -36,17 +36,12 @@ #include <string.h> #include <unistd.h> -static void basic_usage(int rfflags) { - int pd = -1; - pid_t pid, pd_pid, waited_pid; +static void +basic_usage_tail(int pd, pid_t pid) +{ + pid_t pd_pid, waited_pid; int r, status; - pid = pdrfork(&pd, 0, rfflags); - ATF_REQUIRE_MSG(pid >= 0, "rfork failed with %s", strerror(errno)); - if (pid == 0) { - /* In child */ - _exit(0); - } ATF_REQUIRE_MSG(pd >= 0, "rfork did not return a process descriptor"); r = pdgetpid(pd, &pd_pid); ATF_CHECK_EQ_MSG(r, 0, "pdgetpid failed: %s", strerror(errno)); @@ -62,6 +57,21 @@ static void basic_usage(int rfflags) { ATF_CHECK_EQ(ECHILD, errno); } +static void +basic_usage(int rfflags) +{ + int pd = -1; + pid_t pid; + + pid = pdrfork(&pd, 0, rfflags); + ATF_REQUIRE_MSG(pid >= 0, "rfork failed with %s", strerror(errno)); + if (pid == 0) { + /* In child */ + _exit(0); + } + basic_usage_tail(pd, pid); +} + /* pdrfork does not return a process descriptor to the child */ ATF_TC_WITHOUT_HEAD(child_gets_no_pidfd); ATF_TC_BODY(child_gets_no_pidfd, tc)home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69935ab8.35f9a.2977397c>
