Re: [C/R][PATCH] Use __WALL option in waitpid()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxxxxxxx] 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@xxxxxxxxxx>
| 
| ---
|  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@xxxxxxxxxxxxxxxxxxxxxxxxxx
| https://lists.linux-foundation.org/mailman/listinfo/containers
_______________________________________________
Containers mailing list
Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/containers

[Index of Archives]     [Cgroups]     [Netdev]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux