summaryrefslogtreecommitdiff
path: root/libps/procstat.c
diff options
context:
space:
mode:
Diffstat (limited to 'libps/procstat.c')
-rw-r--r--libps/procstat.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/libps/procstat.c b/libps/procstat.c
index e688fa47..e732f751 100644
--- a/libps/procstat.c
+++ b/libps/procstat.c
@@ -352,6 +352,7 @@ summarize_thread_basic_info (struct procinfo *pi)
{
int i;
unsigned num_threads = 0, num_run_threads = 0;
+ task_basic_info_t taskinfo = &pi->taskinfo;
thread_basic_info_t tbi = malloc (sizeof (struct thread_basic_info));
int run_base_priority = 0, run_cur_priority = 0;
int total_base_priority = 0, total_cur_priority = 0;
@@ -426,6 +427,12 @@ summarize_thread_basic_info (struct procinfo *pi)
}
}
+ /* Include the run time of terminated threads. */
+ tbi->user_time.seconds += taskinfo->user_time.seconds;
+ tbi->user_time.microseconds += taskinfo->user_time.microseconds;
+ tbi->system_time.seconds += taskinfo->system_time.seconds;
+ tbi->system_time.microseconds += taskinfo->system_time.microseconds;
+
tbi->user_time.seconds += tbi->user_time.microseconds / 1000000;
tbi->user_time.microseconds %= 1000000;
tbi->system_time.seconds += tbi->system_time.microseconds / 1000000;