summaryrefslogtreecommitdiffstats
path: root/openbsd
diff options
context:
space:
mode:
authorBenny Baumann <BenBE@geshi.org>2021-06-18 20:42:25 +0200
committerBenBE <BenBE@geshi.org>2021-06-22 09:32:11 +0200
commitd2a476cddb009f98bd709bbbfe335a08e4820bce (patch)
tree549d48be6e21f9123babd010ebc2f786f119c2b1 /openbsd
parent6a6b09b431e6270ebf3c8944d8b36ee5d4a8f8cf (diff)
OpenBSD: Always update username
Diffstat (limited to 'openbsd')
-rw-r--r--openbsd/OpenBSDProcessList.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/openbsd/OpenBSDProcessList.c b/openbsd/OpenBSDProcessList.c
index 4e885b3c..a02b4901 100644
--- a/openbsd/OpenBSDProcessList.c
+++ b/openbsd/OpenBSDProcessList.c
@@ -284,10 +284,8 @@ static void OpenBSDProcessList_scanProcs(OpenBSDProcessList* this) {
proc->pgrp = kproc->p__pgid;
proc->isKernelThread = proc->pgrp == 0;
proc->isUserlandThread = kproc->p_tid != -1;
- 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);
OpenBSDProcessList_updateProcessName(this->kd, kproc, proc);
@@ -323,6 +321,11 @@ static void OpenBSDProcessList_scanProcs(OpenBSDProcessList* this) {
proc->majflt = kproc->p_uru_majflt;
proc->nlwp = 1;
+ if (proc->st_uid != kproc->p_uid) {
+ proc->st_uid = kproc->p_uid;
+ proc->user = UsersTable_getRef(this->super.usersTable, proc->st_uid);
+ }
+
switch (kproc->p_stat) {
case SIDL: proc->state = 'I'; break;
case SRUN: proc->state = 'P'; break;

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