Messages in this thread | | | Date | Wed, 23 Mar 2011 10:17:36 +0100 | From | Tejun Heo <> | Subject | Re: [PATCH 7/8] job control: Notify the real parent of job control events regardless of ptrace |
| |
Hey, Oleg.
On Tue, Mar 22, 2011 at 08:44:16PM +0100, Oleg Nesterov wrote: > On 03/22, Tejun Heo wrote: > > > > On Mon, Mar 21, 2011 at 06:43:06PM +0100, Oleg Nesterov wrote: > > > Hmm... in fact I can't convince myself we really need to look at > > > child->group_leader, will recheck... Anyway, this is minor too. > > > > Care to elaborate? > > child->real_parent must be equal to child->group_leader->real_parent.
Okay.
> What we need is ptrace_reparented(). But as I said, it should be > fixed first (I think) and this needs a separate patch/discussion. > > So yes, we need a new helper. > > Well, and look at get_signal_to_deliver(), > > leader = current->group_leader; > if (task_ptrace(leader) && !real_parent_is_ptracer(leader)) > do_notify_parent_cldstop(leader, true, why); > > Indeed. But in fact task_ptrace(leader) is not needed. If > real_parent_is_ptracer(tsk) returns false, then tsk must be ptraced. > > So we could write > > if (!real_parent_is_ptracer(leader)) > do_notify_parent_cldstop(leader, true, why); > > but now this looks confusing because of the naming. Compare with > > if (ptrace_reparented(leader)) > do_notify_parent_cldstop(leader);
I see but I don't think ptrace_reparented() is a good name for !same_thread_group(child->parent, child->real_parent). It gets too confusing with child->parent != child->real_parent test.
Anyways, I'll leave the renaming for later patch and just update the ->group_leader part.
Thanks.
-- tejun
| |