From 4455bcd0e646eda1a952671734045bf1b2e9b69f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 13 Aug 2010 02:08:34 +0200 Subject: cgroup: try harder to find a unit a PID belongs to by traversing through parent cgroups --- src/cgroup.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/cgroup.c') diff --git a/src/cgroup.c b/src/cgroup.c index 23ba5d86a9..fff00d017f 100644 --- a/src/cgroup.c +++ b/src/cgroup.c @@ -335,6 +335,21 @@ Unit* cgroup_unit_by_pid(Manager *m, pid_t pid) { return NULL; l = hashmap_get(m->cgroup_bondings, group); + + if (!l) { + char *slash; + + while ((slash = strrchr(group, '/'))) { + if (slash == group) + break; + + *slash = 0; + + if ((l = hashmap_get(m->cgroup_bondings, group))) + break; + } + } + free(group); LIST_FOREACH(by_path, b, l) { -- cgit v1.2.3-54-g00ecf