From: Shawn Landden Date: Tue, 22 May 2012 05:54:41 +0000 (-0700) Subject: cgtop: work even if not all cgroups are available X-Git-Tag: v184~24 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=63210a15e1efdbda3fb3abd9a6ae9961fd0ea153;ds=sidebyside 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. --- diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c index ddb57094b..f988adb36 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) {