diff options
author | Lennart Poettering <lennart@poettering.net> | 2012-05-03 21:54:44 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2012-05-03 21:54:44 +0200 |
commit | 88f3e0c91f08c65a479e1aa09f171550b744d829 (patch) | |
tree | 5fb94a693b555dd43952fcec34b4213b12f07839 /src/core/mount.c | |
parent | 3beddc7861783347eb0aaf5fa492e8b2aef9e691 (diff) |
service: explicitly remove control/ subcgroup after each control command
The kernel will only notify us of cgroups running empty if no subcgroups
exist anymore. Hence make sure we don't leave our own control/ subcgroup
around longer than necessary.
https://bugzilla.redhat.com/show_bug.cgi?id=818381
Diffstat (limited to 'src/core/mount.c')
-rw-r--r-- | src/core/mount.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/mount.c b/src/core/mount.c index 5f50d9557a..8bdd462ea1 100644 --- a/src/core/mount.c +++ b/src/core/mount.c @@ -891,7 +891,7 @@ static void mount_enter_signal(Mount *m, MountState state, MountResult f) { if ((r = set_put(pid_set, LONG_TO_PTR(m->control_pid))) < 0) goto fail; - r = cgroup_bonding_kill_list(UNIT(m)->cgroup_bondings, sig, true, pid_set, NULL); + r = cgroup_bonding_kill_list(UNIT(m)->cgroup_bondings, sig, true, false, pid_set, NULL); if (r < 0) { if (r != -EAGAIN && r != -ESRCH && r != -ENOENT) log_warning("Failed to kill control group: %s", strerror(-r)); @@ -1850,7 +1850,7 @@ static int mount_kill(Unit *u, KillWho who, KillMode mode, int signo, DBusError goto finish; } - q = cgroup_bonding_kill_list(UNIT(m)->cgroup_bondings, signo, false, pid_set, NULL); + q = cgroup_bonding_kill_list(UNIT(m)->cgroup_bondings, signo, false, false, pid_set, NULL); if (q < 0) if (q != -EAGAIN && q != -ESRCH && q != -ENOENT) r = q; |