lkml.org 
[lkml]   [2011]   [May]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 6/9] job control: make task_clear_jobctl_pending() clear TRAPPING automatically
On 05/13, Tejun Heo wrote:
>
> @@ -264,6 +267,9 @@ void task_clear_jobctl_pending(struct task_struct *task, unsigned int mask)
> mask |= JOBCTL_STOP_CONSUME | JOBCTL_STOP_DEQUEUED;
>
> task->jobctl &= ~mask;
> +
> + if (!(task->jobctl & JOBCTL_PENDING_MASK))
> + task_clear_jobctl_trapping(task);
> }

So, SIGCONT clears JOBCTL_TRAPPING and wakes up the tracer.

I can't really understand this without seeing the next changes, but
it seems this makes some things worse, although I am not sure.

For example. PTRACE_SEIZE should guarantee the tracee will trap and
report. However, if the tracee is stopped during attach, we can race
with SIGCONT. The previous version had the similar problem afaics, but
it was easy (I think) to fix. Now that SIGCONT clears JOBCTL_TRAPPING
we need more complications.

Oleg.



\
 
 \ /
  Last update: 2011-05-16 14:29    [from the cache]
©2003-2011 Jasper Spaans