diff options
author | KaiGai Kohei <kaigai@ak.jp.nec.com> | 2006-06-25 08:49:25 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 13:01:25 -0400 |
commit | f6ec29a42d7ac3b309a9cef179b686d23986ab98 (patch) | |
tree | 5150d4f403833ac18b468bd0e0e0a9a7cdd9f4be /include/linux/sched.h | |
parent | 0e4648141af02331f21aabcd34940c70f09a2d04 (diff) |
[PATCH] pacct: avoidance to refer the last thread as a representation of the process
When pacct facility generate an 'ac_flag' field in accounting record, it
refers a task_struct of the thread which died last in the process. But any
other task_structs are ignored.
Therefore, pacct facility drops ASU flag even if root-privilege operations are
used by any other threads except the last one. In addition, AFORK flag is
always set when the thread of group-leader didn't die last, although this
process has called execve() after fork().
We have a same matter in ac_exitcode. The recorded ac_exitcode is an exit
code of the last thread in the process. There is a possibility this exitcode
is not the group leader's one.
Diffstat (limited to 'include/linux/sched.h')
-rw-r--r-- | include/linux/sched.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/sched.h b/include/linux/sched.h index abada7c1d5e4..d8429dc250f0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -359,6 +359,8 @@ struct sighand_struct { | |||
359 | }; | 359 | }; |
360 | 360 | ||
361 | struct pacct_struct { | 361 | struct pacct_struct { |
362 | int ac_flag; | ||
363 | long ac_exitcode; | ||
362 | unsigned long ac_mem; | 364 | unsigned long ac_mem; |
363 | }; | 365 | }; |
364 | 366 | ||