Le mardi 08 juin 2010 à 19:07 -0700, Sukadev Bhattiprolu a écrit :
> I am not too sure, but if user wants to stop a container is there a
> reason not to implicitly unfreeze the container and stop ?
> 
> ---
> From: Sukadev Bhattiprolu <suka...@linux.vnet.ibm.com>
> Date: Tue, 8 Jun 2010 18:42:00 -0700
> Subject: [PATCH 1/1]: unfreeze while stopping container
> 
> When a container is being stopped, it must also be unfrozen after posting
> the SIGKILL. Otherwise if the container is frozen when the SIGKILL is posted,
> the SIGKILL will remain pending and the lxc-stop command will block until
> lxc-unfreeze is explicitly called).

For me the lxc-start/lxc-stop and
lxc-freeze/lxc-unfreeze are two sets of commands
that should not be mixed.

If the container was previously frozen by a lxc-freeze
then the user has to issue a lxc-unfreeze before to issue the lxc-stop.

-- 
Michel

> 
> (lxc-stop waits for the container to exit and close the socket but since
> the container is frozen, lxc-stop will block).
> 
> [Dan Smith pointed this out while testing out-of-tree lxc-checkpoint/restart]
> 
> Signed-off-by: Sukadev Bhattiprolu <suka...@linux.vnet.ibm.com>
> ---
>  src/lxc/stop.c |   10 ++++++++--
>  1 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/src/lxc/stop.c b/src/lxc/stop.c
> index b751af5..f441e46 100644
> --- a/src/lxc/stop.c
> +++ b/src/lxc/stop.c
> @@ -83,8 +83,14 @@ extern int lxc_stop_callback(int fd, struct lxc_request 
> *request,
>       int ret;
>  
>       answer.ret = kill(handler->pid, SIGKILL);
> -     if (!answer.ret)
> -             return 0;
> +     if (!answer.ret) {
> +             ret = lxc_unfreeze(handler->name);
> +             if (!ret)
> +                     return 0;
> +
> +             ERROR("failed to unfreeze container");
> +             answer.ret = ret;
> +     }
>  
>       ret = send(fd, &answer, sizeof(answer), 0);
>       if (ret < 0) {




------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Lxc-devel mailing list
Lxc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lxc-devel

Reply via email to