summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWHR <msl0000023508@gmail.com>2022-05-10 21:46:20 +0800
committerBenBE <BenBE@geshi.org>2022-05-26 15:31:30 +0200
commitefe09a5e393c686c032a2872ae801f86c058eb93 (patch)
tree2d6543445aa85a20202ae59623567e3cdba87dba
parent038f2ae7770d2d80ab24242adfcef3ae897d0e48 (diff)
Fix process time scaling error on Solaris
-rw-r--r--solaris/SolarisProcessList.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/solaris/SolarisProcessList.c b/solaris/SolarisProcessList.c
index 0c619aed..905cfbd4 100644
--- a/solaris/SolarisProcessList.c
+++ b/solaris/SolarisProcessList.c
@@ -468,7 +468,7 @@ static int SolarisProcessList_walkproc(psinfo_t* _psinfo, lwpsinfo_t* _lwpsinfo,
proc->percent_cpu = ((uint16_t)_psinfo->pr_pctcpu / (double)32768) * (double)100.0;
Process_updateCPUFieldWidths(proc->percent_cpu);
- proc->time = _psinfo->pr_time.tv_sec;
+ proc->time = _psinfo->pr_time.tv_sec * 100 + _psinfo->pr_time.tv_nsec / 10000000;
if (!preExisting) { // Tasks done only for NEW processes
proc->isUserlandThread = false;
proc->starttime_ctime = _psinfo->pr_start.tv_sec;
@@ -497,7 +497,7 @@ static int SolarisProcessList_walkproc(psinfo_t* _psinfo, lwpsinfo_t* _lwpsinfo,
proc->percent_cpu = ((uint16_t)_lwpsinfo->pr_pctcpu / (double)32768) * (double)100.0;
Process_updateCPUFieldWidths(proc->percent_cpu);
- proc->time = _lwpsinfo->pr_time.tv_sec;
+ proc->time = _lwpsinfo->pr_time.tv_sec * 100 + _lwpsinfo->pr_time.tv_nsec / 10000000;
if (!preExisting) { // Tasks done only for NEW LWPs
proc->isUserlandThread = true;
proc->ppid = _psinfo->pr_pid * 1024;

© 2014-2024 Faster IT GmbH | imprint | privacy policy