X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcgroup.c;h=be837c3d0f940f9e069c51dfc99862af774b9030;hb=7fc2a89a7387db1e5daa4892393c9e9536920c25;hp=a3491582be316428d91605f9654a2f4c2df76274;hpb=64747e2d4b6feb61e9f9e70d36ffcf5a972e168a;p=elogind.git diff --git a/src/cgroup.c b/src/cgroup.c index a3491582b..be837c3d0 100644 --- a/src/cgroup.c +++ b/src/cgroup.c @@ -38,17 +38,14 @@ int cgroup_bonding_realize(CGroupBonding *b) { assert(b->path); assert(b->controller); - if (b->realized) - return 0; - - if ((r = cg_create(b->controller, b->path)) < 0) + r = cg_create(b->controller, b->path); + if (r < 0) { + log_warning("Failed to create cgroup %s:%s: %s", b->controller, b->path, strerror(-r)); return r; + } b->realized = true; - if (b->ours) - cg_trim(b->controller, b->path, false); - return 0; } @@ -189,7 +186,7 @@ int cgroup_bonding_kill(CGroupBonding *b, int sig, bool sigcont, Set *s) { assert(sig >= 0); /* Don't kill cgroups that aren't ours */ - if (!b->realized || !b->ours) + if (!b->ours) return 0; return cg_kill_recursive(b->controller, b->path, sig, sigcont, true, false, s); @@ -270,7 +267,7 @@ int manager_setup_cgroup(Manager *m) { assert(m); /* 0. Be nice to Ingo Molnar #628004 */ - if (path_is_mount_point("/sys/fs/cgroup/systemd") <= 0) { + if (path_is_mount_point("/sys/fs/cgroup/systemd", false) <= 0) { log_warning("No control group support available, not creating root group."); return 0; }