diff options
Diffstat (limited to 'kernel/exit.c')
-rw-r--r-- | kernel/exit.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 5b5e8b67680e..f436a6bd3fb7 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -54,11 +54,13 @@ static void __unhash_process(struct task_struct *p) | |||
54 | if (thread_group_leader(p)) { | 54 | if (thread_group_leader(p)) { |
55 | detach_pid(p, PIDTYPE_PGID); | 55 | detach_pid(p, PIDTYPE_PGID); |
56 | detach_pid(p, PIDTYPE_SID); | 56 | detach_pid(p, PIDTYPE_SID); |
57 | |||
58 | list_del_init(&p->tasks); | ||
57 | if (p->pid) | 59 | if (p->pid) |
58 | __get_cpu_var(process_counts)--; | 60 | __get_cpu_var(process_counts)--; |
59 | } | 61 | } |
60 | 62 | ||
61 | REMOVE_LINKS(p); | 63 | remove_parent(p); |
62 | } | 64 | } |
63 | 65 | ||
64 | void release_task(struct task_struct * p) | 66 | void release_task(struct task_struct * p) |