On 12/18/2012 07:15 PM, Dwight Engen wrote: > These states are kept by the kernel in the freezer.state cgroup item, and > are never set in handler->state with lxc_set_state(). If lxc transitions > a container to/from the freezer after an lxc-wait for one of the above > states has already started, the lxc-wait will never see the new state. This > change has lxc send the new state to the lxc-monitor socket. > > Signed-off-by: Dwight Engen <dwight.en...@oracle.com>
Acked-by: Stéphane Graber <stgra...@ubuntu.com> > --- > src/lxc/freezer.c | 6 ++++++ > src/lxc/lxc_wait.c | 2 +- > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/src/lxc/freezer.c b/src/lxc/freezer.c > index 2a6f0f5..3e4f55d 100644 > --- a/src/lxc/freezer.c > +++ b/src/lxc/freezer.c > @@ -32,6 +32,8 @@ > #include <sys/param.h> > > #include "error.h" > +#include "state.h" > +#include "monitor.h" > > #include <lxc/log.h> > #include <lxc/cgroup.h> > @@ -95,7 +97,10 @@ static int freeze_unfreeze(const char *name, int freeze) > > ret = strncmp(f, tmpf, strlen(f)); > if (!ret) > + { > + lxc_monitor_send_state(name, freeze ? FROZEN : THAWED); > break; /* Success */ > + } > > sleep(1); > > @@ -119,6 +124,7 @@ out: > > int lxc_freeze(const char *name) > { > + lxc_monitor_send_state(name, FREEZING); > return freeze_unfreeze(name, 1); > } > > diff --git a/src/lxc/lxc_wait.c b/src/lxc/lxc_wait.c > index de1163e..799225d 100644 > --- a/src/lxc/lxc_wait.c > +++ b/src/lxc/lxc_wait.c > @@ -70,7 +70,7 @@ Options :\n\ > -n, --name=NAME NAME for name of the container\n\ > -s, --state=STATE ORed states to wait for\n\ > STOPPED, STARTING, RUNNING, STOPPING,\n\ > - ABORTING, FREEZING, FROZEN\n\ > + ABORTING, FREEZING, FROZEN, THAWED\n\ > -t, --timeout=TMO Seconds to wait for state changes\n", > .options = my_longopts, > .parser = my_parser, -- Stéphane Graber Ubuntu developer http://www.ubuntu.com
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnmore_122712
_______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel