wait_task_stopped/continued: remove unneeded p->signal != NULL check
The child was found on ->children list under tasklist_lock, it must have a valid ->signal. __exit_signal() both removes the task from parent->children and clears ->signal "atomically" under write_lock(tasklist). Remove unneeded checks. Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru> Acked-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
18442cf28a
commit
715015e8da
1 changed files with 1 additions and 4 deletions
|
@ -1322,7 +1322,7 @@ static int wait_task_stopped(struct task_struct *p, int delayed_group_leader,
|
|||
if (!p->exit_code)
|
||||
return 0;
|
||||
if (delayed_group_leader && !(p->ptrace & PT_PTRACED) &&
|
||||
p->signal && p->signal->group_stop_count > 0)
|
||||
p->signal->group_stop_count > 0)
|
||||
/*
|
||||
* A group stop is in progress and this is the group leader.
|
||||
* We won't report until all threads have stopped.
|
||||
|
@ -1436,9 +1436,6 @@ static int wait_task_continued(struct task_struct *p, int noreap,
|
|||
pid_t pid;
|
||||
uid_t uid;
|
||||
|
||||
if (unlikely(!p->signal))
|
||||
return 0;
|
||||
|
||||
if (!(p->signal->flags & SIGNAL_STOP_CONTINUED))
|
||||
return 0;
|
||||
|
||||
|
|
Loading…
Reference in a new issue