[Devel] Re: [PATCH][usercr]: Ghost tasks must be detached
Oren Laadan
orenl at cs.columbia.edu
Mon Jan 10 17:51:06 PST 2011
Applied to user-cr.
Thanks,
Oren.
On 12/10/2010 10:35 PM, Sukadev Bhattiprolu wrote:
>
> From: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
> Date: Fri, 10 Dec 2010 19:23:58 -0800
> Subject: [PATCH 1/1] Ghost tasks must be detached
>
> Ghost processes are created only to help restore orphaned sessions/pgrps.
> As such once the session/pgrp is created the ghost must not send another
> SIGCHLD to the parent but exit silently. So create such tasks as
> "detached".
>
> See also:
>
> https://lists.linux-foundation.org/pipermail/containers/2010-December/026076.html
>
> Signed-off-by: Sukadev Bhattiprolu <sukadev at linux.vnet.ibm.com>
> ---
> restart.c | 7 +++++++
> 1 files changed, 7 insertions(+), 0 deletions(-)
>
> diff --git a/restart.c b/restart.c
> index 9fb5e9f..d7ba26b 100644
> --- a/restart.c
> +++ b/restart.c
> @@ -1744,6 +1744,13 @@ static pid_t ckpt_fork_child(struct ckpt_ctx *ctx, struct task *child)
> flags |= CLONE_THREAD | CLONE_SIGHAND | CLONE_VM;
> else if (child->flags & TASK_SIBLING)
> flags |= CLONE_PARENT;
> + else if (child->flags & (TASK_GHOST|TASK_DEAD)) {
> + /*
> + * Ghosts must vanish silently (without signalling parent)
> + * when they are done.
> + */
> + flags = 0xFF;
> + }
>
> memset(&clone_args, 0, sizeof(clone_args));
> clone_args.nr_pids = 1;
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list