lxccontainer: use wait_for_pid()

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