chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f284f69
)
unit: consider all cgroups in the name=systemd hierarchy, even when the user has...
author
Lennart Poettering
<lennart@poettering.net>
Thu, 30 Jun 2011 00:41:01 +0000
(
02:41
+0200)
committer
Lennart Poettering
<lennart@poettering.net>
Thu, 30 Jun 2011 00:41:01 +0000
(
02:41
+0200)
src/unit.c
patch
|
blob
|
history
diff --git
a/src/unit.c
b/src/unit.c
index 87b7edf145824ee735448f6f4d44aa4fe9d6741c..e3687d473f1e16997900ea80229dc93b839daaee 100644
(file)
--- a/
src/unit.c
+++ b/
src/unit.c
@@
-1741,10
+1741,13
@@
int unit_add_cgroup(Unit *u, CGroupBonding *b) {
assert(b->path);
assert(b->path);
- if (!b->controller)
+ if (!b->controller)
{
if (!(b->controller = strdup(SYSTEMD_CGROUP_CONTROLLER)))
return -ENOMEM;
if (!(b->controller = strdup(SYSTEMD_CGROUP_CONTROLLER)))
return -ENOMEM;
+ b->ours = true;
+ }
+
/* Ensure this hasn't been added yet */
assert(!b->unit);
/* Ensure this hasn't been added yet */
assert(!b->unit);
@@
-1789,6
+1792,7
@@
static char *default_cgroup_path(Unit *u) {
int unit_add_cgroup_from_text(Unit *u, const char *name) {
char *controller = NULL, *path = NULL;
CGroupBonding *b = NULL;
int unit_add_cgroup_from_text(Unit *u, const char *name) {
char *controller = NULL, *path = NULL;
CGroupBonding *b = NULL;
+ bool ours = false;
int r;
assert(u);
int r;
assert(u);
@@
-1797,11
+1801,15
@@
int unit_add_cgroup_from_text(Unit *u, const char *name) {
if ((r = cg_split_spec(name, &controller, &path)) < 0)
return r;
if ((r = cg_split_spec(name, &controller, &path)) < 0)
return r;
- if (!path)
+ if (!path)
{
path = default_cgroup_path(u);
path = default_cgroup_path(u);
+ ours = true;
+ }
- if (!controller)
+ if (!controller)
{
controller = strdup(SYSTEMD_CGROUP_CONTROLLER);
controller = strdup(SYSTEMD_CGROUP_CONTROLLER);
+ ours = true;
+ }
if (!path || !controller) {
free(path);
if (!path || !controller) {
free(path);
@@
-1822,7
+1830,8
@@
int unit_add_cgroup_from_text(Unit *u, const char *name) {
b->controller = controller;
b->path = path;
b->controller = controller;
b->path = path;
- b->ours = false;
+ b->ours = ours;
+ b->essential = streq(controller, SYSTEMD_CGROUP_CONTROLLER);
if ((r = unit_add_cgroup(u, b)) < 0)
goto fail;
if ((r = unit_add_cgroup(u, b)) < 0)
goto fail;