netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=d4fcefc1b9ee860d8bb4833d8ed3e1094640f3cb

commit d4fcefc1b9ee860d8bb4833d8ed3e1094640f3cb
Author: Alastair Poole <[email protected]>
Date:   Tue Feb 2 20:18:54 2021 +0000

    obsd: time and state name
---
 src/bin/system/process.c | 9 ++++++++-
 src/bin/system/process.h | 2 +-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/bin/system/process.c b/src/bin/system/process.c
index 2d42017..e25b888 100644
--- a/src/bin/system/process.c
+++ b/src/bin/system/process.c
@@ -464,6 +464,7 @@ static void
 _proc_get(Proc_Info *p, struct kinfo_proc *kp)
 {
    static int pagesize = 0;
+   const char *state;
 
    if (!pagesize) pagesize = getpagesize();
 
@@ -472,7 +473,13 @@ _proc_get(Proc_Info *p, struct kinfo_proc *kp)
    p->uid = kp->p_uid;
    p->cpu_id = kp->p_cpuid;
    p->start = kp->p_ustart_sec;
-   p->state = _process_state_name(kp->p_stat);
+   p->run_time = kp->p_uutime_sec + kp->p_ustime_sec +
+                 (kp->p_uutime_usec / 1000000) + (kp->p_ustime_usec / 1000000);
+   if (kp->p_stat == SSLEEP)
+     state = kp->p_wmesg;
+   else
+     state = _process_state_name(kp->p_stat);
+   snprintf(p->state, sizeof(p->state), "%s", state);
    p->cpu_time = kp->p_uticks + kp->p_sticks + kp->p_iticks;
    p->mem_virt = p->mem_size = (MEMSZ(kp->p_vm_tsize) * MEMSZ(pagesize)) +
       (MEMSZ(kp->p_vm_dsize) * MEMSZ(pagesize)) + (MEMSZ(kp->p_vm_ssize) * 
MEMSZ(pagesize));
diff --git a/src/bin/system/process.h b/src/bin/system/process.h
index f5c4ea1..a2d46d3 100644
--- a/src/bin/system/process.h
+++ b/src/bin/system/process.h
@@ -30,7 +30,7 @@ typedef struct _Proc_Info
 
    char       *command;
    char       *arguments;
-   const char *state;
+   char        state[32];
 
    short       is_kernel;
    int         tid;

-- 


Reply via email to