X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fcgroup-util.c;h=05c3125aec79ca0ba2fafb2c27eb94ec65ccc085;hp=0d3cc53517de07b7ef779ea5c219f7a052cd566d;hb=0b59cf27e82f4f366ea5af1be288557d62bab385;hpb=934277fe6a26ff2a4da37059c70d84ab6a700781 diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c index 0d3cc5351..05c3125ae 100644 --- a/src/shared/cgroup-util.c +++ b/src/shared/cgroup-util.c @@ -30,12 +30,10 @@ #include #include "cgroup-util.h" -#include "log.h" #include "set.h" #include "macro.h" #include "util.h" #include "path-util.h" -#include "strv.h" #include "unit-name.h" #include "fileio.h" #include "special.h" @@ -510,7 +508,7 @@ static int check_hierarchy(const char *p) { return 0; /* Check if this controller actually really exists */ - cc = strappenda("/sys/fs/cgroup/", p); + cc = strjoina("/sys/fs/cgroup/", p); if (laccess(cc, F_OK) < 0) return -errno; @@ -1251,17 +1249,15 @@ int cg_path_get_user_unit(const char *path, char **unit) { /* Skip slices, if there are any */ e = skip_slices(path); - /* Skip the session scope... */ + /* Skip the session scope or user manager... */ t = skip_session(e); - if (t) - /* ... and skip more slices if there's one */ - e = skip_slices(t); - else { - /* ... or require a user manager unit to be there */ - e = skip_user_manager(e); - if (!e) - return -ENOENT; - } + if (!t) + t = skip_user_manager(e); + if (!t) + return -ENOENT; + + /* ... and skip more slices if there are any */ + e = skip_slices(t); return cg_path_decode_unit(e, unit); }