[ns_exec] Add SIGCHLD to default clone flags

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

 



This is the default behavior. Without it, the process will not
report/be reported to the parent on a normal wait() call. Instead
the parent will need to use __WALL wait flag.

This caused a nasty bug where running 'rstr' from a checkpoint
image of a process executed with ns_exec would cause the shell
to skip to the next line in the script without waiting for the
restarted task to terminate, contrary to one's expectation.

TODO: if someone would like to run with anything else than the
SIGCHLD there, then add an option to ns_exec to allow it.

Oren.


diff --git a/ns_exec.c b/ns_exec.c
index 3c3aa9e..0d2f54a 100644
--- a/ns_exec.c
+++ b/ns_exec.c
@@ -219,7 +219,7 @@ void write_pid(char *pid_file, int pid)
 int main(int argc, char *argv[])
 {	
 	int c;
-	unsigned long flags = 0, eflags = 0;
+	unsigned long flags = SIGCHLD, eflags = 0;
 	char ttyname[256];
 	int status;
 	int ret, use_clone = 0;
_______________________________________________
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