diff options
Diffstat (limited to 'include/libcgroup.h')
-rw-r--r-- | include/libcgroup.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/include/libcgroup.h b/include/libcgroup.h index 0942161..9b11321 100644 --- a/include/libcgroup.h +++ b/include/libcgroup.h @@ -130,6 +130,18 @@ struct cgroup_file_info { */ #define CG_HIER_MAX CG_CONTROLLER_MAX + +/** + * Ignore errors caused by migration of tasks to parent group. + */ +#define CGFLAG_DELETE_IGNORE_MIGRATION 1 + +/** + * Recursively delete all child groups. + */ +#define CGFLAG_DELETE_RECURSIVE 2 + + struct cgroup_stat { char name[FILENAME_MAX]; char value[CG_VALUE_MAX]; @@ -155,6 +167,21 @@ int cgroup_create_cgroup_from_parent(struct cgroup *cgroup, int ignore_ownership int cgroup_copy_cgroup(struct cgroup *dst, struct cgroup *src); /** + * Delete control group. + * All tasks are automatically moved to parent group. + * If CGFLAG_DELETE_IGNORE_MIGRATION flag is used, the errors that occurred + * during the task movement are ignored. + * CGFLAG_DELETE_RECURSIVE flag specifies that all subgroups should be removed + * too. If root group is being removed with this flag specified, all subgroups + * are removed but the root group itself is left undeleted. + * + * @param cgroup Group to delete. + * @param flags Combination of CGFLAG_DELETE_* flags, which indicate what and + * how to delete. + */ +int cgroup_delete_cgroup_ext(struct cgroup *cgroup, int flags); + +/** * Changes the cgroup of a program based on the rules in the config file. * If a rule exists for the given UID, GID or PROCESS NAME, then the given * PID is placed into the correct group. By default, this function parses |