Messages in this thread | | | From | (Eric W. Biederman) | Date | Wed, 29 May 2013 13:54:45 -0700 | Subject | Re: [PATCH] don't use task->pid/tgid in same_thread_group/has_group_leader_pid |
| |
Oleg Nesterov <oleg@redhat.com> writes:
> 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.
Reviewed-by: "Eric W. Biederman" <ebiederm@xmission.com>
This change looks good, thanks.
The posix cpu timers usage of has_group_leader_pid looks a little iffy, but this change doesn't look like it will break them.
Thanks for this cleanup Oleg.
> Signed-off-by: Oleg Nesterov <oleg@redhat.com> > --- > include/linux/sched.h | 8 ++++---- > 1 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/include/linux/sched.h b/include/linux/sched.h > index 178a8d9..ce51dfd 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)
| |