Commit b09356f4 authored by Andrew Vagin's avatar Andrew Vagin Committed by Pavel Emelyanov

test/tempfs_subns: wait all child processes

Signed-off-by: 's avatarAndrew Vagin <avagin@virtuozzo.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@virtuozzo.com>
parent 2f41a8a8
...@@ -19,7 +19,7 @@ TEST_OPTION(dirname, string, "directory name", 1); ...@@ -19,7 +19,7 @@ TEST_OPTION(dirname, string, "directory name", 1);
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
int fds[2]; int fds[2], i;
pid_t pid; pid_t pid;
int fd, status; int fd, status;
...@@ -43,6 +43,10 @@ int main(int argc, char **argv) ...@@ -43,6 +43,10 @@ int main(int argc, char **argv)
pid = fork(); pid = fork();
if (pid == 0) { if (pid == 0) {
if (write(fds[1], &fd, sizeof(fd)) != sizeof(fd)) {
pr_perror("write");
return 1;
}
if (unshare(CLONE_NEWNS)) { if (unshare(CLONE_NEWNS)) {
pr_perror("unshare"); pr_perror("unshare");
return 1; return 1;
...@@ -54,6 +58,10 @@ int main(int argc, char **argv) ...@@ -54,6 +58,10 @@ int main(int argc, char **argv)
} }
pid = fork(); pid = fork();
if (pid == 0) { if (pid == 0) {
if (write(fds[1], &fd, sizeof(fd)) != sizeof(fd)) {
pr_perror("write");
return 1;
}
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
while (1) while (1)
sleep(1); sleep(1);
...@@ -103,10 +111,12 @@ int main(int argc, char **argv) ...@@ -103,10 +111,12 @@ int main(int argc, char **argv)
} }
close(fds[1]); close(fds[1]);
for (i = 0; i < 3; i++) {
if (read(fds[0], &fd, sizeof(fd)) != sizeof(fd)) { if (read(fds[0], &fd, sizeof(fd)) != sizeof(fd)) {
pr_perror("read"); pr_perror("read");
return 1; return 1;
} }
}
test_daemon(); test_daemon();
test_waitsig(); test_waitsig();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment