On 07/27, Pavel Emelyanov wrote: > > Oleg Nesterov wrote: > > > >Perhaps, we can do something like the patch below. Roland, what do you > >think? > > > >We can check PF_EXITING instead of ->exit_state while choosing the new > > Heh :) I've came to the same conclusion and now I'm checking for it. > But my patch is much simpler that yours - it just checks for PF_EXITING > in forget_original_parent: > > --- ./kernel/exit.c.exitfix 2007-07-27 12:13:25.000000000 +0400 > +++ ./kernel/exit.c 2007-07-27 12:15:35.000000000 +0400 > @@ -712,7 +712,7 @@ forget_original_parent(struct task_struc > reaper = task_child_reaper(father); > break; > } > - } while (reaper->exit_state); > + } while (reaper->flags & PF_EXITING); Yes, other changes are just cleanups. They just move some code from exit_notify to forget_original_parent(). It is a bit silly to declare ptrace_dead in exit_notify(), take tasklist, pass ptrace_dead to forget_original_parent(), unlock-lock-unlock tasklist, and then use ptrace_dead. Oleg. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers