]> Pileus Git - ~andy/linux/blobdiff - fs/exec.c
[PATCH] select() warning fixes
[~andy/linux] / fs / exec.c
index 0291a68a36261ada2dca60e411af634b1373bc1c..4d38ad0b70d641ce655cd0c01daa316d22ef107e 100644 (file)
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -723,7 +723,12 @@ static int de_thread(struct task_struct *tsk)
                current->parent = current->real_parent = leader->real_parent;
                leader->parent = leader->real_parent = child_reaper;
                current->group_leader = current;
-               leader->group_leader = leader;
+               leader->group_leader = current;
+
+               /* Reduce leader to a thread */
+               detach_pid(leader, PIDTYPE_PGID);
+               detach_pid(leader, PIDTYPE_SID);
+               list_del_init(&leader->tasks);
 
                add_parent(current);
                add_parent(leader);