X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fcore%2Fservice.c;h=a89ff3f96c3e8c1d640ac580c244f95d10c242d1;hp=15e29be14910ee43cdb2a2f0daff3b1c42e5935c;hb=cbecf9bf929318533fea798c57c10efcf6b2b447;hpb=63c372cb9df3bee01e3bf8cd7f96f336bddda846 diff --git a/src/core/service.c b/src/core/service.c index 15e29be14..a89ff3f96 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -21,7 +21,6 @@ #include #include -#include #include #include "async.h" @@ -1058,7 +1057,11 @@ static int service_spawn( assert(c); assert(_pid); - unit_realize_cgroup(UNIT(s)); + (void) unit_realize_cgroup(UNIT(s)); + if (s->reset_cpu_usage) { + (void) unit_reset_cpu_usage(UNIT(s)); + s->reset_cpu_usage = false; + } r = unit_setup_exec_runtime(UNIT(s)); if (r < 0) @@ -1829,6 +1832,7 @@ static int service_start(Unit *u) { s->main_pid_known = false; s->main_pid_alien = false; s->forbid_restart = false; + s->reset_cpu_usage = true; free(s->status_text); s->status_text = NULL;