kill tracehook_notify_death()
authorOleg Nesterov <oleg@redhat.com>
Thu, 23 Jun 2011 17:06:50 +0000 (19:06 +0200)
committerOleg Nesterov <oleg@redhat.com>
Mon, 27 Jun 2011 18:30:08 +0000 (20:30 +0200)
Kill tracehook_notify_death(), reimplement the logic in its caller,
exit_notify().

Also, change the exec_id's check to use thread_group_leader() instead
of task_detached(), this is more clear. This logic only applies to
the exiting leader, a sub-thread must never change its exit_signal.

Note: when the traced group leader exits the exit_signal-or-SIGCHLD
logic looks really strange:

- we notify the tracer even if !thread_group_empty() but
   do_wait(WEXITED) can't work until all threads exit

- if the tracer is real_parent, it is not clear why can't
  we use ->exit_signal event if !thread_group_empty()

-v2: do not try to fix the 2nd oddity to avoid the subtle behavior
     change mixed with reorganization, suggested by Tejun.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Tejun Heo <tj@kernel.org>

No differences found