X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcgroup.h;h=45d043935df4530c9faf8d4b7303920971acd5a4;hp=67c7cc35019497c634bbc120fbe45dbf86bec142;hb=9014a8bd7a88aa4794b730e7fccf7838a00ad351;hpb=8c47c7325fa1ab72febf807f8831ff24c75fbf45 diff --git a/src/cgroup.h b/src/cgroup.h index 67c7cc350..45d043935 100644 --- a/src/cgroup.h +++ b/src/cgroup.h @@ -22,8 +22,6 @@ along with systemd; If not, see . ***/ -#include - typedef struct CGroupBonding CGroupBonding; #include "unit.h" @@ -35,8 +33,6 @@ struct CGroupBonding { Unit *unit; - struct cgroup *cgroup; - /* For the Unit::cgroup_bondings list */ LIST_FIELDS(CGroupBonding, by_unit); @@ -48,6 +44,9 @@ struct CGroupBonding { /* When our tasks are the only ones in this group */ bool only_us:1; + + /* This cgroup is realized */ + bool realized:1; }; int cgroup_bonding_realize(CGroupBonding *b); @@ -62,6 +61,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); @@ -72,7 +74,7 @@ char *cgroup_bonding_to_string(CGroupBonding *b); #include "manager.h" int manager_setup_cgroup(Manager *m); -int manager_shutdown_cgroup(Manager *m, bool delete); +void manager_shutdown_cgroup(Manager *m, bool delete); int cgroup_notify_empty(Manager *m, const char *group);