The branch stable/15 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=e166a6ef87ee121be547a564cc6284b172ac7828
commit e166a6ef87ee121be547a564cc6284b172ac7828 Author: Konstantin Belousov <[email protected]> AuthorDate: 2026-02-15 15:22:19 +0000 Commit: Konstantin Belousov <[email protected]> CommitDate: 2026-02-21 09:48:58 +0000 pdrfork(2) tests: split basic_usage (cherry picked from commit 94e4de77dec809fa5a6975e3495a41d1924c25ad) --- 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)
