From: Lennart Poettering Date: Fri, 18 Nov 2016 22:47:09 +0000 (+0100) Subject: nspawn: try to wait for the container PID 1 to exit, before we exit X-Git-Tag: v233~404^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a0f896b97ab4f744bf4404011f8ac9d2f978443;p=thirdparty%2Fsystemd.git nspawn: try to wait for the container PID 1 to exit, before we exit Let's make the shutdown logic synchronous, so that there's a better chance to detach the loopback device after use. --- diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 0ca0b2f4c88..8e4b94ef82e 100644 --- a/src/nspawn/nspawn.c +++ b/src/nspawn/nspawn.c @@ -4349,8 +4349,13 @@ finish: kill(pid, SIGKILL); /* Try to flush whatever is still queued in the pty */ - if (master >= 0) + if (master >= 0) { (void) copy_bytes(master, STDOUT_FILENO, (uint64_t) -1, false); + master = safe_close(master); + } + + if (pid > 0) + (void) wait_for_terminate(pid, NULL); loop_remove(loop_nr, &image_fd);