From: Oleg Nesterov Date: Thu, 27 Jun 2013 23:51:09 +0000 (+1000) Subject: include/linux/sched.h: don't use task->pid/tgid in same_thread_group/has_group_leader_pid X-Git-Tag: next-20130628~3^2~625 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=ac31e2144b6ca7bdf10aa35a481524a91e5806b0;p=karo-tx-linux.git include/linux/sched.h: don't use task->pid/tgid in same_thread_group/has_group_leader_pid task_struct->pid/tgid should go away. 1. Change same_thread_group() to use task->signal for comparison. 2. Change has_group_leader_pid(task) to compare task_pid(task) with signal->leader_pid. Signed-off-by: Oleg Nesterov Cc: Michal Hocko Cc: Sergey Dyasly Reviewed-by: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Peter Zijlstra Signed-off-by: Andrew Morton --- diff --git a/include/linux/sched.h b/include/linux/sched.h index e646547bbe1b..907f767c842c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2174,15 +2174,15 @@ static inline bool thread_group_leader(struct task_struct *p) * all we care about is that we have a task with the appropriate * pid, we don't actually care if we have the right task. */ -static inline int has_group_leader_pid(struct task_struct *p) +static inline bool has_group_leader_pid(struct task_struct *p) { - return p->pid == p->tgid; + return task_pid(p) == p->signal->leader_pid; } static inline -int same_thread_group(struct task_struct *p1, struct task_struct *p2) +bool same_thread_group(struct task_struct *p1, struct task_struct *p2) { - return p1->tgid == p2->tgid; + return p1->signal == p2->signal; } static inline struct task_struct *next_thread(const struct task_struct *p)