tree ab7de371c86ce9e72015363fc06563709d823354
parent c24c55c75a0d799be07ad6c1a7ff4ccfe25da75b
author Jonathan Lim <jlim@sgi.com> 1188543383 -0700
committer Linus Torvalds <torvalds@woody.linux-foundation.org> 1188549742 -0700

Assign task_struct.exit_code before taskstats_exit()

taskstats.ac_exitcode is assigned to task_struct.exit_code in bacct_add_tsk()
through the following kernel function calls:

  do_exit()
    taskstats_exit()
      fill_pid()
        bacct_add_tsk()

The problem is that in do_exit(), task_struct.exit_code is set to 'code' only
after taskstats_exit() has been called.  So we need to move the assignment
before taskstats_exit().

Signed-off-by: Jonathan Lim <jlim@sgi.com>
Cc: Balbir Singh <balbir@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
