From: Lennart Poettering Date: Mon, 12 Jul 2010 00:31:40 +0000 (+0200) Subject: service: trim cgroups if services that are "active" but "exited" X-Git-Tag: v3~37 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=f6023656e10823dff9e4b9f70628b671b3f4ed96 service: trim cgroups if services that are "active" but "exited" --- diff --git a/src/service.c b/src/service.c index f8b4ff6a2..47108503d 100644 --- a/src/service.c +++ b/src/service.c @@ -1179,6 +1179,11 @@ static void service_set_state(Service *s, ServiceState state) { service_connection_unref(s); } + /* For the inactive states unit_notify() will trim the cgroup, + * but for exit we have to do that ourselves... */ + if (state == SERVICE_EXITED) + cgroup_bonding_trim_list(s->meta.cgroup_bondings, true); + if (old_state != state) log_debug("%s changed %s -> %s", s->meta.id, service_state_to_string(old_state), service_state_to_string(state));