[lxc-devel] [PATCH] lxc-checkpoint -r should actually wait for the restore to happen

Tycho Andersen tycho.andersen at canonical.com
Tue Mar 24 19:25:38 UTC 2015


On Fri, Mar 20, 2015 at 08:38:39PM +0000, Serge Hallyn wrote:
> Quoting Tycho Andersen (tycho.andersen at canonical.com):
> > From: Tycho Andersen <tycho.andersen at canonical.com>
> > 
> > Signed-off-by: Tycho Andersen <tycho.andersen at 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;
> 
> hi,
> 
> what about using wait_for_pid(pid) here?

Ah ha, very nice.

Tycho


>From 00b210556242f1e688a256e805be433b34e1063c Mon Sep 17 00:00:00 2001
From: Tycho Andersen <tycho.andersen at canonical.com>
Date: Fri, 20 Mar 2015 10:17:31 -0600
Subject: [PATCH] lxc-checkpoint -r should actually wait for the restore to
 happen

Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
---
 src/lxc/lxc_checkpoint.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/lxc/lxc_checkpoint.c b/src/lxc/lxc_checkpoint.c
index cfa08fc..e271199 100644
--- a/src/lxc/lxc_checkpoint.c
+++ b/src/lxc/lxc_checkpoint.c
@@ -27,6 +27,7 @@
 #include "config.h"
 #include "lxc.h"
 #include "arguments.h"
+#include "utils.h"
 
 static char *checkpoint_dir = NULL;
 static bool stop = false;
@@ -168,6 +169,9 @@ bool restore(struct lxc_container *c)
 
 	lxc_container_put(c);
 
+	if (pid != 0)
+		wait_for_pid(pid);
+
 	return ret;
 }
 
-- 
2.1.0



More information about the lxc-devel mailing list