diff options
| author | 2006-04-21 12:52:36 -0400 | |
|---|---|---|
| committer | 2006-04-21 12:52:36 -0400 | |
| commit | a748422ee45725e04e1d3792fa19dfa90ddfd116 (patch) | |
| tree | 978e12895468baaa9f7ab2747b9f7d50beaf1717 /kernel/exit.c | |
| parent | [GFS2] journal recovery patch (diff) | |
| parent | Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 (diff) | |
Merge branch 'master'
Diffstat (limited to 'kernel/exit.c')
| -rw-r--r-- | kernel/exit.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/exit.c b/kernel/exit.c index 6c2eeb8f6390..f86434d7b3d1 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -34,6 +34,7 @@ #include <linux/mutex.h> #include <linux/futex.h> #include <linux/compat.h> +#include <linux/pipe_fs_i.h> #include <asm/uaccess.h> #include <asm/unistd.h> @@ -55,7 +56,7 @@ static void __unhash_process(struct task_struct *p) detach_pid(p, PIDTYPE_PGID); detach_pid(p, PIDTYPE_SID); - list_del_init(&p->tasks); + list_del_rcu(&p->tasks); __get_cpu_var(process_counts)--; } list_del_rcu(&p->thread_group); @@ -941,6 +942,9 @@ fastcall NORET_TYPE void do_exit(long code) if (tsk->io_context) exit_io_context(); + if (tsk->splice_pipe) + __free_pipe_info(tsk->splice_pipe); + /* PF_DEAD causes final put_task_struct after we schedule. */ preempt_disable(); BUG_ON(tsk->flags & PF_DEAD); |
