From 6a0f896b97ab4f744bf4404011f8ac9d2f978443 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 18 Nov 2016 23:47:09 +0100 Subject: 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. --- src/nspawn/nspawn.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/nspawn/nspawn.c b/src/nspawn/nspawn.c index 0ca0b2f4c8..8e4b94ef82 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); -- cgit v1.2.3-54-g00ecf