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    [W:0.297 / U:0.568 seconds]
    ©2003-2014 Jasper Spaans. Advertise on this site