diff --git a/sysdeps/linux/ChangeLog b/sysdeps/linux/ChangeLog index 0ff62b77..71642228 100644 --- a/sysdeps/linux/ChangeLog +++ b/sysdeps/linux/ChangeLog @@ -1,3 +1,9 @@ +1999-11-28 Martin Baulig + + * procstate.c (glibtop_get_procstate_s): Stat "/proc/" instead + of "/proc//state" to get `uid' and `gid'. Thanks to Jason Becker + for pointing out that GTop reported wrong uid's. + 1999-11-21 Martin Baulig * interfaces.c: New file. diff --git a/sysdeps/linux/procstate.c b/sysdeps/linux/procstate.c index 11ed9d09..fc8fe1c6 100644 --- a/sysdeps/linux/procstate.c +++ b/sysdeps/linux/procstate.c @@ -61,7 +61,7 @@ glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid) * values; NEVER set their flags values if this * is not the case !!! */ - sprintf (buffer, "/proc/%d/stat", pid); + sprintf (buffer, "/proc/%d", pid); if (stat (buffer, &statb)) return -1; @@ -74,6 +74,8 @@ glibtop_get_proc_state_s (glibtop *server, glibtop_proc_state *buf, pid_t pid) buf->flags = _glibtop_sysdeps_proc_state_uid; + sprintf (buffer, "/proc/%d", pid); + /* Now we read the remaining fields. */ if (proc_stat_to_buffer (buffer, pid))