[Devel] [PATCH][usercr]: Ghost tasks must be detached
Sukadev Bhattiprolu
sukadev at linux.vnet.ibm.com
Fri Dec 10 19:35:48 PST 2010
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;
--
1.6.0.4
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list