diff --git a/[refs] b/[refs] index adb8e7c673db..569306e114f6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: dcace06cc29df927a74a6bc0e57b9bef87704377 +refs/heads/master: d184d6eb1dc3c9869e25a8e422be5c55ab0db4ac diff --git a/trunk/include/linux/ptrace.h b/trunk/include/linux/ptrace.h index 9b5d2c901d06..800f113bea66 100644 --- a/trunk/include/linux/ptrace.h +++ b/trunk/include/linux/ptrace.h @@ -228,7 +228,11 @@ static inline void ptrace_init_task(struct task_struct *child, bool ptrace) child->ptrace = current->ptrace; __ptrace_link(child, current->parent); - sigaddset(&child->pending.signal, SIGSTOP); + if (child->ptrace & PT_SEIZED) + task_set_jobctl_pending(child, JOBCTL_TRAP_STOP); + else + sigaddset(&child->pending.signal, SIGSTOP); + set_tsk_thread_flag(child, TIF_SIGPENDING); } }