ptrace: Participate in group stop from ptrace_stop() iff the task is trapping for...
authorTejun Heo <tj@kernel.org>
Wed, 23 Mar 2011 09:37:00 +0000 (10:37 +0100)
committerTejun Heo <tj@kernel.org>
Wed, 23 Mar 2011 09:37:00 +0000 (10:37 +0100)
commit0ae8ce1c8c5b9007ce6bfc83ec2aa0dfce5bbed3
treef92abf6b41e9524966849972427fadcb7a7ef3f7
parent39efa3ef3a376a4e53de2f82fc91182459d34200
ptrace: Participate in group stop from ptrace_stop() iff the task is trapping for group stop

Currently, ptrace_stop() unconditionally participates in group stop
bookkeeping.  This is unnecessary and inaccurate.  Make it only
participate if the task is trapping for group stop - ie. if @why is
CLD_STOPPED.  As ptrace_stop() currently is not used when trapping for
group stop, this equals to disabling group stop participation from
ptrace_stop().

A visible behavior change is increased likelihood of delayed group
stop completion if the thread group contains one or more ptraced
tasks.

This is to preapre for further cleanup of the interaction between
group stop and ptrace.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Oleg Nesterov <oleg@redhat.com>
Cc: Roland McGrath <roland@redhat.com>
kernel/signal.c