X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcgroup.h;h=a7ca8abb063bcb6e35fd7081369babf48aa90f08;hp=d27c063c12fea7d11151be4c5f29adbda507217c;hb=55096547212928b0ba83fca2595cae0d66d3c0b0;hpb=e99e38bbdcca3fe5956823bdb3d38544ccf93221 diff --git a/src/cgroup.h b/src/cgroup.h index d27c063c1..a7ca8abb0 100644 --- a/src/cgroup.h +++ b/src/cgroup.h @@ -22,12 +22,12 @@ along with systemd; If not, see . ***/ -#include - typedef struct CGroupBonding CGroupBonding; #include "unit.h" +#define SYSTEMD_CGROUP_CONTROLLER "name=systemd" + /* Binds a cgroup to a name */ struct CGroupBonding { char *controller; @@ -35,8 +35,6 @@ struct CGroupBonding { Unit *unit; - struct cgroup *cgroup; - /* For the Unit::cgroup_bondings list */ LIST_FIELDS(CGroupBonding, by_unit); @@ -49,8 +47,8 @@ struct CGroupBonding { /* When our tasks are the only ones in this group */ bool only_us:1; - /* Inherit parameters from parent group */ - bool inherit:1; + /* This cgroup is realized */ + bool realized:1; }; int cgroup_bonding_realize(CGroupBonding *b); @@ -65,6 +63,9 @@ int cgroup_bonding_install_list(CGroupBonding *first, pid_t pid); int cgroup_bonding_kill(CGroupBonding *b, int sig); int cgroup_bonding_kill_list(CGroupBonding *first, int sig); +void cgroup_bonding_trim(CGroupBonding *first, bool delete_root); +void cgroup_bonding_trim_list(CGroupBonding *first, bool delete_root); + int cgroup_bonding_is_empty(CGroupBonding *b); int cgroup_bonding_is_empty_list(CGroupBonding *first); @@ -75,8 +76,10 @@ char *cgroup_bonding_to_string(CGroupBonding *b); #include "manager.h" int manager_setup_cgroup(Manager *m); -int manager_shutdown_cgroup(Manager *m, bool delete); +int manager_shutdown_cgroup(Manager *m); int cgroup_notify_empty(Manager *m, const char *group); +Unit* cgroup_unit_by_pid(Manager *m, pid_t pid); + #endif