| Date | Mon, 20 Dec 2010 15:59:56 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 04/16] ptrace: kill tracehook_notify_jctl() |
| |
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?
Oleg.
|