summaryrefslogtreecommitdiffstats
path: root/netbsd
diff options
context:
space:
mode:
authorBenBE <BenBE@geshi.org>2021-06-18 12:53:23 +0200
committerBenBE <BenBE@geshi.org>2021-06-26 12:18:37 +0200
commit3bed682b1e5947b27ec2c609c61dd4c9bd4268ad (patch)
tree1fc44e332dfc14adf15699a4f0edba414f8a6338 /netbsd
parent686309e34cacd9e49574c4dab0480e5c75c8e5da (diff)
Always update `proc->st_uid` + `proc->user`
Avoids issue #661.
Diffstat (limited to 'netbsd')
-rw-r--r--netbsd/NetBSDProcessList.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/netbsd/NetBSDProcessList.c b/netbsd/NetBSDProcessList.c
index ea6c8d3e..c3b5e004 100644
--- a/netbsd/NetBSDProcessList.c
+++ b/netbsd/NetBSDProcessList.c
@@ -236,10 +236,8 @@ static void NetBSDProcessList_scanProcs(NetBSDProcessList* this) {
proc->pgrp = kproc->p__pgid;
proc->isKernelThread = proc->pgrp == 0;
proc->isUserlandThread = proc->pid != proc->tgid;
- proc->st_uid = kproc->p_uid;
proc->starttime_ctime = kproc->p_ustart_sec;
Process_fillStarttimeBuffer(proc);
- proc->user = UsersTable_getRef(this->super.usersTable, proc->st_uid);
ProcessList_add(&this->super, proc);
NetBSDProcessList_updateExe(kproc, proc);
@@ -254,6 +252,11 @@ static void NetBSDProcessList_scanProcs(NetBSDProcessList* this) {
NetBSDProcessList_updateCwd(kproc, proc);
}
+ if (proc->st_uid != kproc->p_uid) {
+ proc->st_uid = kproc->p_uid;
+ proc->user = UsersTable_getRef(this->super.usersTable, proc->st_uid);
+ }
+
proc->m_virt = kproc->p_vm_vsize;
proc->m_resident = kproc->p_vm_rssize;
proc->percent_mem = (proc->m_resident * pageSizeKB) / (double)(this->super.totalMem) * 100.0;

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