diff options
Diffstat (limited to 'src/shared')
-rw-r--r-- | src/shared/cgroup-util.c | 11 | ||||
-rw-r--r-- | src/shared/cgroup-util.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/shared/cgroup-util.c b/src/shared/cgroup-util.c index 86729f14bf..0d3cc53517 100644 --- a/src/shared/cgroup-util.c +++ b/src/shared/cgroup-util.c @@ -1592,6 +1592,17 @@ int cg_set_attribute(const char *controller, const char *path, const char *attri return write_string_file_no_create(p, value); } +int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret) { + _cleanup_free_ char *p = NULL; + int r; + + r = cg_get_path(controller, path, attribute, &p); + if (r < 0) + return r; + + return read_one_line_file(p, ret); +} + static const char mask_names[] = "cpu\0" "cpuacct\0" diff --git a/src/shared/cgroup-util.h b/src/shared/cgroup-util.h index 89dc2b1135..96a3d3bafa 100644 --- a/src/shared/cgroup-util.h +++ b/src/shared/cgroup-util.h @@ -85,6 +85,7 @@ int cg_attach_fallback(const char *controller, const char *path, pid_t pid); int cg_create_and_attach(const char *controller, const char *path, pid_t pid); int cg_set_attribute(const char *controller, const char *path, const char *attribute, const char *value); +int cg_get_attribute(const char *controller, const char *path, const char *attribute, char **ret); int cg_set_group_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid); int cg_set_task_access(const char *controller, const char *path, mode_t mode, uid_t uid, gid_t gid); |