diff options
Diffstat (limited to 'source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch')
-rw-r--r-- | source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch b/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch new file mode 100644 index 00000000..4b192c1f --- /dev/null +++ b/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch @@ -0,0 +1,36 @@ +--- procps-3.2.8/ps/output.c 2010-05-18 06:00:18.000000000 +0200 ++++ procps-3.2.8.lennart/ps/output.c 2010-05-18 05:59:46.000000000 +0200 +@@ -1109,7 +1109,7 @@ + static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){ + char filename[48]; + FILE *fd; +- int counter = 0; ++ int counter = 0, last_begin = 0, slash = 0; + int c; + int is_cgroup = 0; + +@@ -1121,15 +1121,22 @@ + if (is_cgroup == 0) { + if (c == ':') { + is_cgroup = 1; ++ slash = 0; + if (counter>0) + outbuf[counter++]=';'; + } + }else +- if ((c == '\n') || (c == '\0')) +- is_cgroup = 0; ++ if ((c == '\n') || (c == '\0')){ ++ if (slash) /* if the last char was a / this process is in the root cgroup which we should suppress */ ++ counter = last_begin; + else ++ last_begin = counter; ++ is_cgroup = 0; ++ } else { ++ slash = c == '/'; + outbuf[counter++]=c; + } ++ } + outbuf[counter]='\0'; + close(fd); + if (counter>0) |