netstar pushed a commit to branch master.

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

commit d5da445b3faee6ab32e626b81a05383bcda22c41
Author: Alastair Poole <[email protected]>
Date:   Fri Apr 24 02:29:27 2020 +0100

    proc: sane memory.
---
 src/bin/process.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/bin/process.c b/src/bin/process.c
index 2545804..16f2dbc 100644
--- a/src/bin/process.c
+++ b/src/bin/process.c
@@ -157,7 +157,6 @@ _mem_size(Proc_Info *proc, int pid)
         if (sscanf(buf, "%u %u %u %u %u %u %u", &size, &resident, &shared, 
&text,
                    &dummy, &data, &dummy) == 7)
           {
-             proc->mem_size = (size * getpagesize()) - proc->mem_rss;
              proc->mem_shared = shared * getpagesize();
           }
      }
@@ -191,6 +190,7 @@ _cmd_args(Proc_Info *p, int pid, char *name, size_t len)
           }
      }
 
+
    char *end = strchr(name, ' ');
    if (end) *end = '\0';
 
@@ -229,7 +229,8 @@ _process_list_linux_get(void)
    char *n;
    char state, line[4096], name[1024];
    int pid, res, utime, stime, cutime, cstime, psr, pri, nice, numthreads, 
dummy;
-   unsigned int mem_virt, mem_rss, flags;
+   unsigned int mem_rss, flags;
+   unsigned long mem_virt;
    int pagesize = getpagesize();
 
    res = 0;
@@ -254,7 +255,7 @@ _process_list_linux_get(void)
              strncpy(name, start, end - start);
              name[end - start] = '\0';
 
-             res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d 
%d %d %d %u %u %d %u %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d 
%d %d",
+             res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d 
%d %d %d %u %u %d %lu %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d 
%d %d",
                           &state, &dummy, &dummy, &dummy, &dummy, &dummy, 
&flags, &dummy, &dummy, &dummy, &dummy, &utime, &stime, &cutime, &cstime,
                           &pri, &nice, &numthreads, &dummy, &dummy, &mem_virt, 
&mem_rss, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy,
                           &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, 
&psr, &dummy, &dummy, &dummy, &dummy, &dummy);
@@ -276,7 +277,7 @@ _process_list_linux_get(void)
         p->priority = pri;
         p->numthreads = numthreads;
 
-        p->mem_virt = mem_virt;
+        p->mem_virt = p->mem_size = mem_virt;
         p->mem_rss = mem_rss * pagesize;
         _mem_size(p, pid);
 
@@ -297,7 +298,8 @@ proc_info_by_pid(int pid)
    FILE *f;
    char line[4096], name[1024], state;
    int res, dummy, utime, stime, cutime, cstime, psr;
-   unsigned int mem_virt, mem_rss, pri, nice, numthreads;
+   unsigned int mem_rss, pri, nice, numthreads;
+   unsigned long int mem_virt;
 
    f = fopen(eina_slstr_printf("/proc/%d/stat", pid), "r");
    if (!f) return NULL;
@@ -309,7 +311,7 @@ proc_info_by_pid(int pid)
         strncpy(name, start, end - start);
         name[end - start] = '\0';
 
-        res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d %d %d 
%d %u %u %d %u %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d %d %d",
+        res = sscanf(end + 2, "%c %d %d %d %d %d %u %u %u %u %u %d %d %d %d %d 
%d %u %u %d %lu %u %u %u %u %u %u %u %d %d %d %d %u %d %d %d %d %d %d %d %d %d",
                      &state, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, 
&dummy, &dummy, &dummy, &dummy, &utime, &stime, &cutime, &cstime,
                      &pri, &nice, &numthreads, &dummy, &dummy, &mem_virt, 
&mem_rss, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &dummy,
                      &dummy, &dummy, &dummy, &dummy, &dummy, &dummy, &psr, 
&dummy, &dummy, &dummy, &dummy, &dummy);
@@ -327,7 +329,7 @@ proc_info_by_pid(int pid)
    p->state = _process_state_name(state);
    p->cpu_time = utime + stime;
 
-   p->mem_virt = mem_virt;
+   p->mem_size = p->mem_virt = mem_virt;
    p->mem_rss = mem_rss * getpagesize();
    _mem_size(p, pid);
 

-- 


Reply via email to