lkml.org 
[lkml]   [2010]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 04/16] ptrace: kill tracehook_notify_jctl()
On Mon, Dec 20, 2010 at 03:59:56PM +0100, Oleg Nesterov wrote:
> On 12/06, Tejun Heo wrote:
> >
> > tracehook_notify_jctl() aids in determining whether and what to report
> > to the parent when a task is stopped or continued. The function also
> > adds an extra requirement that siglock may be released across it,
> > which is currently unused and quite difficult to satisfy in
> > well-defined manner.
>
> OK. I agree, tracehook_notify_jctl() looks very unobvious, especially
> because it is not really used currently.
>
> The patch looks correct, except
>
> > @@ -1853,21 +1850,19 @@ relock:
> > if (unlikely(signal->flags & SIGNAL_CLD_MASK)) {
> > int why;
> >
> > - if (signal->flags & SIGNAL_CLD_CONTINUED)
> > + if (task_ptrace(current) ||
> > + (signal->flags & SIGNAL_CLD_CONTINUED))
> > why = CLD_CONTINUED;
> > else
> > why = CLD_STOPPED;
>
> Hmm, I can't understand this.
>
> task_ptrace() should not turn CLD_STOPPED in CLD_CONTINUED?
>
> Looking ahead, it _seems_ that the next patches keep this logic,
> could you explain?

That's the logic from tracehook_notify_jctl() or I think it is
incorrectly. Yes, the latter. I got confused the two parameters. I
thought tracehook_notify_jctl() always returned CLD_CONTINUED when
traced. The @why is @notified and CLD_CONTINUED is @why. :-)

I'll drop the above chunk. Thanks.

--
tejun


\
 
 \ /
  Last update: 2010-12-21 18:03    [from the cache]
©2003-2011 Jasper Spaans