Use task_pgrp() task_session() in copy_process()
Subsystems (3)
PATCH 5/5 Use task_pgrp() task_session() in copy_process()
From: Sukadev Bhattiprolu <[email protected]>
Subject: [PATCH 5/5] Use task_pgrp() task_session() in copy_process().
Use task_pgrp() and task_session() in copy_process(), and avoid find_pid() call when attaching the task to its process group and session.
Signed-off-by Sukadev Bhattiprolu <[email protected]>
Cc Cedric Le Goater <[email protected]>
Cc Dave Hansen <[email protected]>
Cc Serge Hallyn <[email protected]>
--- kernel/fork.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-)
kernel/fork.c +3 -6
@@ -1252,14 +1252,11 @@ static struct task_struct *copy_process(tracehook_init_task (p);if (thread_group_leader (p)) { -pid_t pgid =process_group (current); -pid_t sid =process_session (current); - p->signal->tty = current->signal->tty; - p->signal->pgrp = pgid; + p->signal->pgrp =process_group (current);set_signal_session (p->signal,process_session (current)); -attach_pid (p,PIDTYPE_PGID ,find_pid (pgid)); -attach_pid (p,PIDTYPE_SID ,find_pid (sid)); +attach_pid (p,PIDTYPE_PGID ,task_pgrp (current)); +attach_pid (p,PIDTYPE_SID ,task_session (current));list_add_tail_rcu (&p->tasks, &init_task.tasks);__get_cpu_var (process_counts)++;