git: e166a6ef87ee - stable/15 - pdrfork(2) tests: split basic_usage
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 21 Feb 2026 09:49:54 UTC
The branch stable/15 has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=e166a6ef87ee121be547a564cc6284b172ac7828
commit e166a6ef87ee121be547a564cc6284b172ac7828
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-02-15 15:22:19 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
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)