summaryrefslogtreecommitdiff
path: root/kernel/exit.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@home.osdl.org>2003-10-26 03:16:23 -0800
committerLinus Torvalds <torvalds@home.osdl.org>2003-10-26 03:16:23 -0800
commitedf12049eae51473bf5050646d9b9787ee648926 (patch)
treef4f84106112ad31eb6eb152a6a8a410e24e7cf1b /kernel/exit.c
parentc2988baf02a8a29f0224115b10e575b826d5abcd (diff)
Add a sticky "PF_DEAD" task flag to keep track of dead processes.
Use this to simplify 'finish_task_switch', but perhaps more importantly we can use this to track down why some processes seem to sometimes not die properly even after having been marked as ZOMBIE. The "task->state" flags are too fluid to allow that well.
Diffstat (limited to 'kernel/exit.c')
-rw-r--r--kernel/exit.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/exit.c b/kernel/exit.c
index 25b62f5971be..32f739f782d1 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -688,6 +688,7 @@ static void exit_notify(struct task_struct *tsk)
}
tsk->state = TASK_ZOMBIE;
+ tsk->flags |= PF_DEAD;
/*
* In the preemption case it must be impossible for the task
* to get runnable again, so use "_raw_" unlock to keep