[Devel] Re: [C/R][PATCH] Use __WALL option in waitpid()
Sukadev Bhattiprolu
sukadev at linux.vnet.ibm.com
Sat Jun 27 22:17:08 PDT 2009
Oren,
(Following up on the discussion from IRC)
I had run my application as:
ns_exec -cpuimP pid.ptree1 -- ./ptree1 -n 2 -d 1 -w sleep
ns_exec creates the application in new container, with p->exit_signal 0.
for the container-init. When we checkpoint the process tree, we
correctly save and restore the exit_signal to 0. Because of that,
we need the coordinator to use __WALL.
Sukadev
Sukadev Bhattiprolu [sukadev at linux.vnet.ibm.com] wrote:
|
| The coordinator creates the children with clone(), so pass the __WALL
| option to waitpid(). Otherwise the waitpid() will fail, and bring the
| container down even as the application is restarting successfully :-)
|
| Signed-off-by: Sukadev Bhattiprolu <sukadev at us.ibm.com>
|
| ---
| mktree.c | 2 +-
| 1 file changed, 1 insertion(+), 1 deletion(-)
|
| Index: user-cr/mktree.c
| ===================================================================
| --- user-cr.orig/mktree.c 2009-06-27 12:16:42.000000000 -0700
| +++ user-cr/mktree.c 2009-06-27 12:17:02.000000000 -0700
| @@ -523,7 +523,7 @@ static int ckpt_collect_child(pid_t pid,
| {
| int status;
|
| - pid = waitpid(pid, &status, 0);
| + pid = waitpid(pid, &status, __WALL);
| if (pid < 0) {
| perror("WEIRD: collect child task");
| exit(1);
| _______________________________________________
| Containers mailing list
| Containers at lists.linux-foundation.org
| https://lists.linux-foundation.org/mailman/listinfo/containers
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list