X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fservice.c;h=a89ff3f96c3e8c1d640ac580c244f95d10c242d1;hb=5ad096b3f1331b175340129a8c9a5a9d711e5415;hp=c7b35050bd2f61d9b8181559f9270c0dda830100;hpb=2eec67acbb00593e414549a7e5b35eb7dd776b1b;p=elogind.git diff --git a/src/core/service.c b/src/core/service.c index c7b35050b..a89ff3f96 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -1057,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) @@ -1828,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;