chiark / gitweb /
bus-control: Fix cgroup handling
[elogind.git] / src / libsystemd / sd-bus / sd-bus.c
index 83233fd7e676219d44cf55fa0a649b2bc4a394ef..a204d675901c2633c1a1f5c1c65f79a92b2d0ad0 100644 (file)
@@ -3358,3 +3358,21 @@ _public_ int sd_bus_get_name(sd_bus *bus, const char **name) {
         *name = bus->connection_name;
         return 0;
 }
+
+int bus_get_root_path(sd_bus *bus) {
+        int r;
+
+        if (bus->cgroup_root)
+                return 0;
+
+        r = cg_get_root_path(&bus->cgroup_root);
+        if (r == -ENOENT) {
+                bus->cgroup_root = strdup("/");
+                if (!bus->cgroup_root)
+                        return -ENOMEM;
+
+                r = 0;
+        }
+
+        return r;
+}