X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnspawn%2Fnspawn.c;h=5352b95ec69776b20c103ac6a1a4736dfe870fa8;hp=38ec89b9a69f9e1f6d646d3376922f3b28d78a9d;hb=40ddbdf85b592add401a0fbc963cec93559def54;hpb=7f112f50fea585411ea2d493b3582bea77eb4d6e diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 38ec89b9a..5352b95ec 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -1206,12 +1206,6 @@ int main(int argc, char *argv[]) { goto finish; } - sync_fd = eventfd(0, EFD_CLOEXEC); - if (sync_fd < 0) { - log_error("Failed to create event fd: %m"); - goto finish; - } - sd_notify(0, "READY=1"); assert_se(sigemptyset(&mask) == 0); @@ -1221,6 +1215,12 @@ int main(int argc, char *argv[]) { for (;;) { siginfo_t status; + sync_fd = eventfd(0, EFD_CLOEXEC); + if (sync_fd < 0) { + log_error("Failed to create event fd: %m"); + goto finish; + } + pid = syscall(__NR_clone, SIGCHLD|CLONE_NEWIPC|CLONE_NEWNS|CLONE_NEWPID|CLONE_NEWUTS|(arg_private_network ? CLONE_NEWNET : 0), NULL); if (pid < 0) { if (errno == EINVAL)