AM_CPPFLAGS = \
-include $(top_builddir)/config.h \
-DPKGSYSCONFDIR=\"$(pkgsysconfdir)\" \
- -DELOGIND_CGROUP_CONTROLLER=\"$(CGROUP_CONTROLLER)\" \
+ -DSYSTEMD_CGROUP_CONTROLLER=\"$(CGROUP_CONTROLLER)\" \
-DELOGIND_CGROUP_AGENT_PATH=\"$(pkglibexecdir)/elogind-cgroups-agent\" \
-DUDEVLIBEXECDIR=\"$(udevlibexecdir)\" \
-DPOLKIT_AGENT_BINARY_PATH=\"$(PKTTYAGENT)\" \
/* We don't support named hierarchies if we are using
* the unified hierarchy. */
- if (streq(controller, ELOGIND_CGROUP_CONTROLLER))
+ if (streq(controller, SYSTEMD_CGROUP_CONTROLLER))
return 0;
if (startswith(controller, "name="))
if (!cg_controller_is_valid(controller))
return -EINVAL;
} else
- controller = ELOGIND_CGROUP_CONTROLLER;
+ controller = SYSTEMD_CGROUP_CONTROLLER;
cs = strlen(controller);
}
if (r < 0)
return r;
- return cg_get_path(c ? c : ELOGIND_CGROUP_CONTROLLER, p ? p : "/", NULL, result);
+ return cg_get_path(c ? c : SYSTEMD_CGROUP_CONTROLLER, p ? p : "/", NULL, result);
}
int cg_get_root_path(char **path) {
assert(path);
- r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, 1, &p);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 1, &p);
if (r < 0)
return r;
return 0;
#else
assert(path);
- return cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, 1, path);
+ return cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 1, path);
#endif // 0
}
assert(pid >= 0);
assert(cgroup);
- r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, pid, &raw);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &raw);
if (r < 0)
return r;
* in all others */
/* First create the cgroup in our own hierarchy. */
- r = cg_create(ELOGIND_CGROUP_CONTROLLER, path);
+ r = cg_create(SYSTEMD_CGROUP_CONTROLLER, path);
if (r < 0)
return r;
CGroupController c;
int r, unified;
- r = cg_attach(ELOGIND_CGROUP_CONTROLLER, path, pid);
+ r = cg_attach(SYSTEMD_CGROUP_CONTROLLER, path, pid);
if (r < 0)
return r;
int r = 0, unified;
if (!path_equal(from, to)) {
- r = cg_migrate_recursive(ELOGIND_CGROUP_CONTROLLER, from, ELOGIND_CGROUP_CONTROLLER, to, false, true);
+ r = cg_migrate_recursive(SYSTEMD_CGROUP_CONTROLLER, from, SYSTEMD_CGROUP_CONTROLLER, to, false, true);
if (r < 0)
return r;
}
if (!p)
p = to;
- (void) cg_migrate_recursive_fallback(ELOGIND_CGROUP_CONTROLLER, to, cgroup_controller_to_string(c), p, false, false);
+ (void) cg_migrate_recursive_fallback(SYSTEMD_CGROUP_CONTROLLER, to, cgroup_controller_to_string(c), p, false, false);
}
return 0;
CGroupController c;
int r, unified;
- r = cg_trim(ELOGIND_CGROUP_CONTROLLER, path, delete_root);
+ r = cg_trim(SYSTEMD_CGROUP_CONTROLLER, path, delete_root);
if (r < 0)
return r;
if (r < 0)
return r;
- r = cg_get_path(ELOGIND_CGROUP_CONTROLLER, root, "cgroup.controllers", &path);
+ r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, root, "cgroup.controllers", &path);
if (r < 0)
return r;
if (!unified) /* on the legacy hiearchy there's no joining of controllers defined */
return 0;
- r = cg_get_path(ELOGIND_CGROUP_CONTROLLER, p, "cgroup.subtree_control", &fs);
+ r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, p, "cgroup.subtree_control", &fs);
if (r < 0)
return r;
* the watchdog pings will keep the loop busy. */
#define DEFAULT_EXIT_USEC (30*USEC_PER_SEC)
-#ifndef ELOGIND_CGROUP_CONTROLLER
-# define ELOGIND_CGROUP_CONTROLLER "name=elogind"
+#ifndef SYSTEMD_CGROUP_CONTROLLER
+# define SYSTEMD_CGROUP_CONTROLLER "name=elogind"
#endif
#define SIGNALS_CRASH_HANDLER SIGSEGV,SIGILL,SIGFPE,SIGBUS,SIGQUIT,SIGABRT
if (r < 0)
return log_oom();
- r = cg_get_path(ELOGIND_CGROUP_CONTROLLER, u->cgroup_path, "cgroup.populated", &populated);
+ r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, u->cgroup_path, "cgroup.populated", &populated);
if (r < 0)
return log_oom();
if (!u->cgroup_path)
return -ENXIO;
- r = cg_enumerate_processes(ELOGIND_CGROUP_CONTROLLER, u->cgroup_path, &f);
+ r = cg_enumerate_processes(SYSTEMD_CGROUP_CONTROLLER, u->cgroup_path, &f);
if (r < 0)
return r;
assert(u);
assert(path);
- r = cg_enumerate_processes(ELOGIND_CGROUP_CONTROLLER, path, &f);
+ r = cg_enumerate_processes(SYSTEMD_CGROUP_CONTROLLER, path, &f);
if (r < 0)
ret = r;
else {
ret = r;
}
- r = cg_enumerate_subgroups(ELOGIND_CGROUP_CONTROLLER, path, &d);
+ r = cg_enumerate_subgroups(SYSTEMD_CGROUP_CONTROLLER, path, &d);
if (r < 0) {
if (ret >= 0)
ret = r;
if (!u->cgroup_path)
return 0;
- r = cg_is_empty_recursive(ELOGIND_CGROUP_CONTROLLER, u->cgroup_path);
+ r = cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, u->cgroup_path);
if (r <= 0)
return r;
/* 1. Determine hierarchy */
m->cgroup_root = mfree(m->cgroup_root);
- r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, 0, &m->cgroup_root);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, 0, &m->cgroup_root);
if (r < 0)
return log_error_errno(r, "Cannot determine cgroup we are running in: %m");
while ((e = endswith(m->cgroup_root, "/")))
*e = 0;
log_debug_elogind("Cgroup Controller \"%s\" -> root \"%s\"",
- ELOGIND_CGROUP_CONTROLLER, m->cgroup_root);
+ SYSTEMD_CGROUP_CONTROLLER, m->cgroup_root);
/* 2. Show data */
- r = cg_get_path(ELOGIND_CGROUP_CONTROLLER, m->cgroup_root, NULL, &path);
+ r = cg_get_path(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_root, NULL, &path);
if (r < 0)
return log_error_errno(r, "Cannot find cgroup mount point: %m");
if (unified > 0)
log_debug("Unified cgroup hierarchy is located at %s.", path);
else
- log_debug("Using cgroup controller " ELOGIND_CGROUP_CONTROLLER ". File system hierarchy is at %s.", path);
+ log_debug("Using cgroup controller " SYSTEMD_CGROUP_CONTROLLER ". File system hierarchy is at %s.", path);
if (!m->test_run) {
const char *scope_path;
* generate events when control groups with
* children run empty. */
- r = cg_install_release_agent(ELOGIND_CGROUP_CONTROLLER, ELOGIND_CGROUP_AGENT_PATH);
+ r = cg_install_release_agent(SYSTEMD_CGROUP_CONTROLLER, ELOGIND_CGROUP_AGENT_PATH);
if (r < 0)
log_warning_errno(r, "Failed to install release agent, ignoring: %m");
else if (r > 0)
#if 0
/* 4. Make sure we are in the special "init.scope" unit in the root slice. */
scope_path = strjoina(m->cgroup_root, "/" SPECIAL_INIT_SCOPE);
- r = cg_create_and_attach(ELOGIND_CGROUP_CONTROLLER, scope_path, 0);
+ r = cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, scope_path, 0);
#else
- if (streq(ELOGIND_CGROUP_CONTROLLER, "name=elogind"))
+ if (streq(SYSTEMD_CGROUP_CONTROLLER, "name=elogind"))
// we are our own cgroup controller
scope_path = strjoina("");
else if (streq(m->cgroup_root, "/elogind"))
else
// we have to create our own group
scope_path = strjoina(m->cgroup_root, "/elogind");
- r = cg_create_and_attach(ELOGIND_CGROUP_CONTROLLER, scope_path, 0);
+ r = cg_create_and_attach(SYSTEMD_CGROUP_CONTROLLER, scope_path, 0);
#endif // 0
if (r < 0)
return log_error_errno(r, "Failed to create %s control group: %m", scope_path);
/* also, move all other userspace processes remaining
* in the root cgroup into that scope. */
if (!streq(m->cgroup_root, scope_path)) {
- r = cg_migrate(ELOGIND_CGROUP_CONTROLLER, m->cgroup_root, ELOGIND_CGROUP_CONTROLLER, scope_path, false);
+ r = cg_migrate(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_root, SYSTEMD_CGROUP_CONTROLLER, scope_path, false);
if (r < 0)
log_warning_errno(r, "Couldn't move remaining userspace processes, ignoring: %m");
}
/* We can't really delete the group, since we are in it. But
* let's trim it. */
if (delete && m->cgroup_root)
- (void) cg_trim(ELOGIND_CGROUP_CONTROLLER, m->cgroup_root, false);
+ (void) cg_trim(SYSTEMD_CGROUP_CONTROLLER, m->cgroup_root, false);
/// elogind does not support the unified hierarchy, yet.
#if 0
if (pid <= 0)
return NULL;
- r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, pid, &cgroup);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &cgroup);
if (r < 0)
return NULL;
assert_return(pid >= 0, -EINVAL);
assert_return(cgroup, -EINVAL);
- r = cg_pid_get_path(ELOGIND_CGROUP_CONTROLLER, pid, &c);
+ r = cg_pid_get_path(SYSTEMD_CGROUP_CONTROLLER, pid, &c);
if (r < 0)
return r;
if (isempty(cgroup))
return 0;
- if (cg_is_empty_recursive(ELOGIND_CGROUP_CONTROLLER, cgroup) != 0 && leader <= 0)
+ if (cg_is_empty_recursive(SYSTEMD_CGROUP_CONTROLLER, cgroup) != 0 && leader <= 0)
return 0;
c = columns();
else
c = 0;
- show_cgroup_and_extra(ELOGIND_CGROUP_CONTROLLER, cgroup, "\t\t ", c, false, &leader, leader > 0, get_output_flags());
+ show_cgroup_and_extra(SYSTEMD_CGROUP_CONTROLLER, cgroup, "\t\t ", c, false, &leader, leader > 0, get_output_flags());
return 0;
}
#endif // 0
assert(s->leader > 0);
/* First, create our own group */
- r = cg_create(ELOGIND_CGROUP_CONTROLLER, s->id);
+ r = cg_create(SYSTEMD_CGROUP_CONTROLLER, s->id);
if (r < 0)
return log_error_errno(r, "Failed to create cgroup %s: %m", s->id);
- r = cg_attach(ELOGIND_CGROUP_CONTROLLER, s->id, s->leader);
+ r = cg_attach(SYSTEMD_CGROUP_CONTROLLER, s->id, s->leader);
if (r < 0)
log_warning_errno(r, "Failed to attach PID %d to cgroup %s: %m", s->leader, s->id);
#endif // 0
if ( s->user->manager
- && (cg_is_empty_recursive (ELOGIND_CGROUP_CONTROLLER, s->user->manager->cgroup_root) > 0) )
+ && (cg_is_empty_recursive (SYSTEMD_CGROUP_CONTROLLER, s->user->manager->cgroup_root) > 0) )
return true;
return false;
bool sigcont = false;
bool ignore_self = true;
bool rem = true;
- return cg_kill_recursive (ELOGIND_CGROUP_CONTROLLER, s->id, signo,
+ return cg_kill_recursive (SYSTEMD_CGROUP_CONTROLLER, s->id, signo,
sigcont, ignore_self, rem, NULL);
}
#endif // 0
goto fail;
/* If elogind should be its own controller, mount its cgroup */
- if (streq(ELOGIND_CGROUP_CONTROLLER, "name=elogind")) {
+ if (streq(SYSTEMD_CGROUP_CONTROLLER, "name=elogind")) {
r = mount_setup(true);
if (r < 0)
goto fail;
* kernel; at this point, we will not listen to the
* signals anyway */
if (detect_container(NULL) <= 0)
- (void) cg_uninstall_release_agent(ELOGIND_CGROUP_CONTROLLER);
+ (void) cg_uninstall_release_agent(SYSTEMD_CGROUP_CONTROLLER);
manager_shutdown_cgroup(m, true);