summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHisham Muhammad <hisham@gobolinux.org>2015-10-07 20:48:46 -0300
committerHisham Muhammad <hisham@gobolinux.org>2015-10-07 20:48:46 -0300
commite906c0dddb051ca7e1960691ab783b7e9e6212cf (patch)
treeb3fa27322c52f617bdcc9fa029f6fc6cd2adc039
parentcc0fc3655d4773672b625feacf3c7622f20d3c78 (diff)
parent93f05b459fda8b490971a28436865c74baafed86 (diff)
Merge pull request #287 from etosan/master
PPID and JID update fix
-rw-r--r--freebsd/FreeBSDProcessList.c9
-rw-r--r--linux/Platform.c4
2 files changed, 10 insertions, 3 deletions
diff --git a/freebsd/FreeBSDProcessList.c b/freebsd/FreeBSDProcessList.c
index e1954cae..f1b7a191 100644
--- a/freebsd/FreeBSDProcessList.c
+++ b/freebsd/FreeBSDProcessList.c
@@ -199,6 +199,7 @@ void ProcessList_goThroughEntries(ProcessList* this) {
proc->show = ! ((hideKernelThreads && Process_isKernelThread(fp)) || (hideUserlandThreads && Process_isUserlandThread(proc)));
+
if (!preExisting) {
fp->jid = kproc->ki_jid;
proc->pid = kproc->ki_pid;
@@ -206,7 +207,6 @@ void ProcessList_goThroughEntries(ProcessList* this) {
fp->kernel = 1;
else
fp->kernel = 0;
- proc->ppid = kproc->ki_ppid;
proc->tpgid = kproc->ki_tpgid;
proc->tgid = kproc->ki_pid;
proc->session = kproc->ki_sid;
@@ -219,12 +219,19 @@ void ProcessList_goThroughEntries(ProcessList* this) {
proc->comm = FreeBSDProcessList_readProcessName(fpl->kd, kproc, &proc->basenameOffset);
fp->jname = FreeBSDProcessList_readJailName(kproc);
} else {
+ if(fp->jid != kproc->ki_jid) {
+ fp->jid = kproc->ki_jid;
+ free(fp->jname);
+ fp->jname = FreeBSDProcessList_readJailName(kproc);
+ }
if (settings->updateProcessNames) {
free(proc->comm);
proc->comm = FreeBSDProcessList_readProcessName(fpl->kd, kproc, &proc->basenameOffset);
}
}
+ proc->ppid = kproc->ki_ppid;
+
proc->m_size = kproc->ki_size / pageSizeKb / 1000;
proc->m_resident = kproc->ki_rssize; // * pageSizeKb;
proc->nlwp = kproc->ki_numthreads;
diff --git a/linux/Platform.c b/linux/Platform.c
index e0f06d6d..32f73893 100644
--- a/linux/Platform.c
+++ b/linux/Platform.c
@@ -176,14 +176,14 @@ double Platform_setCPUValues(Meter* this, int cpu) {
percent = v[0]+v[1]+v[2]+v[3]+v[4]+v[5]+v[6];
} else {
percent = v[0]+v[1]+v[2]+v[3]+v[4];
- }
+ }
} else {
v[2] = cpuData->systemAllPeriod / total * 100.0;
v[3] = (cpuData->stealPeriod + cpuData->guestPeriod) / total * 100.0;
Meter_setItems(this, 4);
percent = v[0]+v[1]+v[2]+v[3];
}
- percent = MIN(100.0, MAX(0.0, percent));
+ percent = MIN(100.0, MAX(0.0, percent));
if (isnan(percent)) percent = 0.0;
return percent;
}