[lkml]   [2001]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: exit.c -prerelease-diff - Jan 4
In article <>,
Frank Jacobberger <> wrote:
>+ current->state = TASK_ZOMBIE;
>Why the update on exit.c to include TASK_ZOMBIE?

There's a subtle race in the exit path, where we need to make sure that
"wait4()" does not pick up the process before it is ready to be picked

As the flag for "I'm ready to be picked up" is "TASK_ZOMBIE", we need to
make sure that it maintains serialization. Look at how "exit_code" is
used, for example - as it used to be, we didn't actually have any
guarantees that "exit_code" had even been _written_ yet when wait4()
started using it.

(That's the bug I _know_ about - there may be others here, because the
exit sequence is damn subtle sometimes. So the prerelease-diff fixes at
least that one thing, but I'm still trying checking all the other
exit-paths, things like __exit_mm()/mmput()/swap_out() etc)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 12:52    [W:0.041 / U:3.624 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site