From: Oleg Nesterov Date: Fri, 7 Jun 2013 00:07:25 +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-20130617~2^2~490 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b2a10f4c7f4b4cdf3559fd0334ffc2139bc4b766;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 4ff8da189253..e260a19c4e39 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2179,15 +2179,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)