From: Tycho Andersen <tycho.ander...@canonical.com> Signed-off-by: Tycho Andersen <tycho.ander...@canonical.com> --- src/lxc/lxc_checkpoint.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/src/lxc/lxc_checkpoint.c b/src/lxc/lxc_checkpoint.c index cfa08fc..8345789 100644 --- a/src/lxc/lxc_checkpoint.c +++ b/src/lxc/lxc_checkpoint.c @@ -20,6 +20,8 @@ #include <stdio.h> #include <errno.h> #include <unistd.h> +#include <sys/types.h> +#include <sys/wait.h> #include <lxc/lxccontainer.h> @@ -168,6 +170,24 @@ bool restore(struct lxc_container *c) lxc_container_put(c); + if (pid != 0) { + int status; + pid_t w; + + w = waitpid(pid, &status, 0); + if (w == -1) { + perror("waitpid"); + return false; + } + + if (WIFEXITED(status)) { + return status == 0; + } else { + fprintf(stderr, "restore process was killed with signal %d\n", WTERMSIG(status)); + return false; + } + } + return ret; } -- 2.1.0 _______________________________________________ lxc-devel mailing list lxc-devel@lists.linuxcontainers.org http://lists.linuxcontainers.org/listinfo/lxc-devel