diff options
author | Benny Baumann <BenBE@geshi.org> | 2021-06-18 20:42:25 +0200 |
---|---|---|
committer | BenBE <BenBE@geshi.org> | 2021-06-22 09:32:11 +0200 |
commit | d2a476cddb009f98bd709bbbfe335a08e4820bce (patch) | |
tree | 549d48be6e21f9123babd010ebc2f786f119c2b1 /openbsd | |
parent | 6a6b09b431e6270ebf3c8944d8b36ee5d4a8f8cf (diff) |
OpenBSD: Always update username
Diffstat (limited to 'openbsd')
-rw-r--r-- | openbsd/OpenBSDProcessList.c | 7 |
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; |