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) |
