lkml.org 
[lkml]   [2013]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [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)


\
 
 \ /
  Last update: 2013-05-29 23:21    [W:0.027 / U:0.120 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site