}
r = parse_proc_cmdline_word(word);
- free(word);
-
if (r < 0) {
log_error("Failed on cmdline argument %s: %s", word, strerror(-r));
+ free(word);
goto finish;
}
+
+ free(word);
}
r = 0;
}
/* By default, mount "cpu" and "cpuacct" together */
- arg_join_controllers = new(char**, 2);
+ arg_join_controllers = new(char**, 3);
if (!arg_join_controllers)
goto finish;
- arg_join_controllers[0] = strv_new("cpu", "cpuacct", NULL);
- arg_join_controllers[1] = NULL;
+ arg_join_controllers[0] = strv_new("cpu", "cpuacct", "cpuset", NULL);
+ arg_join_controllers[1] = strv_new("net_cls", "netprio", NULL);
+ arg_join_controllers[2] = NULL;
if (!arg_join_controllers[0])
goto finish;
if (arg_running_as == MANAGER_USER) {
/* Become reaper of our children */
- r = prctl(PR_SET_CHILD_SUBREAPER, 1);
- if (r < 0)
- log_error("Failed to prctl(PR_SET_CHILD_SUBREAPER): %s", strerror(-r));
- if (r == -EINVAL)
- log_error("Perhaps the kernel version is too old (< 3.4?)");
+ if (prctl(PR_SET_CHILD_SUBREAPER, 1) < 0) {
+ log_warning("Failed to make us a subreaper: %m");
+ if (errno == EINVAL)
+ log_info("Perhaps the kernel version is too old (< 3.4?)");
+ }
}
r = manager_new(arg_running_as, &m);