libcgroup
Loading...
Searching...
No Matches
Todo List
Global cgroup_change_cgroup_flags (uid_t uid, gid_t gid, const char *procname, pid_t pid, int flags)
Determine thread-safeness and fix of not safe.
Global cgroup_change_cgroup_path (const char *path, pid_t pid, const char *const controllers[])
should this function be really public?
Global cgroup_change_cgroup_uid_gid_flags (uid_t uid, gid_t gid, pid_t pid, int flags)
Determine thread-safeness and fix if not safe.
Global cgroup_create_cgroup (struct cgroup *cgrp, int ignore_ownership)
what is ignore_ownership good for?
Global cgroup_create_cgroup_from_parent (struct cgroup *cgrp, int ignore_ownership)

what is this good for? Why the list of controllers added by cgroup_add_controller() is not used, like in cgroup_create_cgroup()? I can't create subgroup of root group in just one hierarchy with this function!

what is ignore_ownership good for?

Global cgroup_delete_cgroup (struct cgroup *cgrp, int ignore_migration)
what is ignore_migration good for? rmdir() will fail if tasks were not moved.
Global CGROUP_FILE_TYPE_OTHER
really?
Global cgroup_free_controllers (struct cgroup *cgrp)
should this function be public???
Global cgroup_get_cgroup (struct cgroup *cgrp)
what is this function good for? Why is not considered only the list of controllers attached by cgroup_add_controller()? What owners will return cgroup_get_uid_gid() if the group is in multiple hierarchies, each with different owner of tasks file?
Global cgroup_get_value_string (struct cgroup_controller *controller, const char *name, char **value)
rephrase, it's too vague... How big is the buffer actually?
Global cgroup_init_rules_cache (void)
add parameter with the filename?
Global cgroup_new_cgroup (const char *name)
suggest one preferred way, either "/foo" or "foo".
Global cgroup_walk_tree_begin (const char *controller, const char *base_path, int depth, void **handle, struct cgroup_file_info *info, int *base_level)
why base_level is not hidden in **handle?
Module group_iterators
not all iterators follow this pattern, e.g. cgroup_walk_tree_begin() can result both in a state that cgroup_walk_tree_end() is not needed and will SIGSEGV and in a state that cgroup_walk_tree_end() is needed to free allocated memory. Complete review is needed!