diff --git a/test/zdtm/lib/ns.c b/test/zdtm/lib/ns.c index f8a6816c5..69d2d51f4 100644 --- a/test/zdtm/lib/ns.c +++ b/test/zdtm/lib/ns.c @@ -218,6 +218,19 @@ static int ns_exec(void *_arg) return -1; } +static void show_ps(void) +{ + int pid; + + pid = fork(); + if (pid == 0) { + execl("/bin/ps", "ps", "axf", "-o", "pid,sid,comm", NULL); + fprintf(stderr, "Unable to execute ps: %m\n"); + exit(1); + } else if (pid > 0) + waitpid(pid, NULL, 0); +} + int ns_init(int argc, char **argv) { struct sigaction sa = { @@ -261,13 +274,7 @@ int ns_init(int argc, char **argv) else if (ret) fprintf(stderr, "The test returned non-zero code %d\n", ret); - pid = fork(); - if (pid == 0) { - execl("/bin/ps", "ps", "axf", "-o", "pid,sid,comm", NULL); - fprintf(stderr, "Unable to execute ps: %m\n"); - exit(1); - } else if (pid > 0) - waitpid(pid, NULL, 0); + show_ps(); if (sigaction(SIGCHLD, &sa, NULL)) { fprintf(stderr, "Can't set SIGCHLD handler: %m\n"); @@ -297,13 +304,7 @@ int ns_init(int argc, char **argv) /* suspend/resume */ test_waitsig(); - pid = fork(); - if (pid == 0) { - execl("/bin/ps", "ps", "axf", "-o", "pid,sid,comm", NULL); - fprintf(stderr, "Unable to execute ps: %m\n"); - exit(1); - } else if (pid > 0) - waitpid(pid, NULL, 0); + show_ps(); fd = open(pidfile, O_RDONLY); if (fd == -1) {