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 /src/cgtop/cgtop.c | |
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.
Diffstat (limited to 'src/cgtop/cgtop.c')
-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) { |