diff options
author | Shawn Landden <shawnlandden@gmail.com> | 2012-05-21 22:54:41 -0700 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-05-29 21:59:10 +0200 |
commit | 63210a15e1efdbda3fb3abd9a6ae9961fd0ea153 (patch) | |
tree | 4fe062231ddf90e131d563403ec107c5e2f6eb62 | |
parent | 80d37ae7b9d2c471e89e018a8f1e7cab8cd53123 (diff) |
cgtop: work even if not all cgroups are available
cgtop quits on startup if all the cgroup mounts it expects are not available.
Just continue without nonexistant ones.
-rw-r--r-- | src/cgtop/cgtop.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c index ddb57094b1..f988adb363 100644 --- a/src/cgtop/cgtop.c +++ b/src/cgtop/cgtop.c @@ -341,17 +341,22 @@ static int refresh(Hashmap *a, Hashmap *b, unsigned iteration) { r = refresh_one("name=systemd", "/", a, b, iteration, 0); if (r < 0) - return r; - + if (r != -ENOENT) + return r; r = refresh_one("cpuacct", "/", a, b, iteration, 0); if (r < 0) - return r; - + if (r != -ENOENT) + return r; r = refresh_one("memory", "/", a, b, iteration, 0); if (r < 0) - return r; + if (r != -ENOENT) + return r; - return refresh_one("blkio", "/", a, b, iteration, 0); + r = refresh_one("blkio", "/", a, b, iteration, 0); + if (r < 0) + if (r != -ENOENT) + return r; + return 0; } static int group_compare(const void*a, const void *b) { |