|
@@ -334,13 +334,11 @@ void __set_special_pids(struct pid *pid)
|
|
pid_t nr = pid_nr(pid);
|
|
pid_t nr = pid_nr(pid);
|
|
|
|
|
|
if (task_session(curr) != pid) {
|
|
if (task_session(curr) != pid) {
|
|
- detach_pid(curr, PIDTYPE_SID);
|
|
|
|
- attach_pid(curr, PIDTYPE_SID, pid);
|
|
|
|
|
|
+ change_pid(curr, PIDTYPE_SID, pid);
|
|
set_task_session(curr, nr);
|
|
set_task_session(curr, nr);
|
|
}
|
|
}
|
|
if (task_pgrp(curr) != pid) {
|
|
if (task_pgrp(curr) != pid) {
|
|
- detach_pid(curr, PIDTYPE_PGID);
|
|
|
|
- attach_pid(curr, PIDTYPE_PGID, pid);
|
|
|
|
|
|
+ change_pid(curr, PIDTYPE_PGID, pid);
|
|
set_task_pgrp(curr, nr);
|
|
set_task_pgrp(curr, nr);
|
|
}
|
|
}
|
|
}
|
|
}
|