On 06/29, Ben Hutchings wrote: > > On Tue, 2010-06-29 at 17:23 +0200, Oleg Nesterov wrote: > > > @@ -182,9 +182,12 @@ void zap_pid_ns_processes(struct pid_namespace > > > *pid_ns) > > > rc = sys_wait4(-1, NULL, __WALL, NULL); > > > } while (rc != -ECHILD); > > > > > > - > > > - /* Child reaper for the pid namespace is going away */ > > > - pid_ns->child_reaper = NULL; > > > + /* > > > + * We can not clear ->child_reaper or leave it alone. > > > + * There may by stealth EXIT_DEAD tasks on ->children, > > > + * forget_original_parent() must move them somewhere. > > > + */ > > > + pid_ns->child_reaper = init_pid_ns.child_reaper; > > > > This is correct, but the second patch > > > > > @@ -182,12 +182,6 @@ void zap_pid_ns_processes(struct pid_namespace > > > *pid_ns) > > > rc = sys_wait4(-1, NULL, __WALL, NULL); > > > } while (rc != -ECHILD); > > > > > > - /* > > > - * We can not clear ->child_reaper or leave it alone. > > > - * There may by stealth EXIT_DEAD tasks on ->children, > > > - * forget_original_parent() must move them somewhere. > > > - */ > > > - pid_ns->child_reaper = init_pid_ns.child_reaper; > > > > Removes this code? > > That's what your commit 950bbabb5a804690a0201190de5c22837f72f83f did.
This commit moves this "pid_ns->child_reaper = init_pid_ns.child_reaper", to find_new_reaper(). Like the new patch below does, this is correct. Probably I misread your previous patch as if it just kills this assignment. > > I think you are right, you need these 2 commits > > > > 950bbabb5a804690a0201190de5c22837f72f83f > > add0d4dfd660e9e4fd0af3eac3cad23583c9558f > > > > (in that order). > > That is the opposite of the order in which they were originally applied! Indeed, I confused the order ;) Sorry. > The combined diff is: Looks correct to me. Oleg. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org