lxccontainer: use wait_for_pid()

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
Christian Brauner 2018-02-18 21:43:46 +01:00
parent b2ac2cb755
commit 01c1b11e45
No known key found for this signature in database
GPG Key ID: 8EB056D53EECB12D

View File

@ -746,7 +746,7 @@ again:
static bool wait_on_daemonized_start(struct lxc_handler *handler, int pid)
{
int state, status;
int ret, state;
/* Close write end of the socket pair. */
close(handler->state_socket_pair[1]);
@ -761,12 +761,11 @@ static bool wait_on_daemonized_start(struct lxc_handler *handler, int pid)
/* The first child is going to fork() again and then exits. So we reap
* the first child here.
*/
if (waitpid(pid, &status, 0) < 0)
DEBUG("Failed waiting on first child");
else if (!WIFEXITED(status))
DEBUG("Failed to retrieve exit status of first child");
else if (WEXITSTATUS(status) != 0)
DEBUG("First child exited with: %d", WEXITSTATUS(status));
ret = wait_for_pid(pid);
if (ret < 0)
DEBUG("Failed waiting on first child %d", pid);
else
DEBUG("First child %d exited", pid);
if (state < 0) {
SYSERROR("Failed to receive the container state");