X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fservice.c;h=2fec3ea8c9168b7fa290b71e02042ec607878d95;hp=071f015b1383cc47e7470922c368cfc7aa6d5439;hb=f5a501146a426d95daa6d67d832b2ab339befbae;hpb=ca949c9dcf17ea8d6512ac4c5c1a806ded9b8dc1 diff --git a/src/service.c b/src/service.c index 071f015b1..2fec3ea8c 100644 --- a/src/service.c +++ b/src/service.c @@ -1620,7 +1620,7 @@ static void service_enter_signal(Service *s, ServiceState state, bool success) { if ((r = cgroup_bonding_kill_list(s->meta.cgroup_bondings, sig, pid_set)) < 0) { if (r != -EAGAIN && r != -ESRCH && r != -ENOENT) log_warning("Failed to kill control group: %s", strerror(-r)); - } else + } else if (r > 0) wait_for_exit = true; set_free(pid_set); @@ -1841,7 +1841,7 @@ static void service_enter_restart(Service *s) { service_enter_dead(s, true, false); - if ((r = manager_add_job(s->meta.manager, JOB_START, UNIT(s), JOB_FAIL, false, NULL, NULL)) < 0) + if ((r = manager_add_job(s->meta.manager, JOB_START, UNIT(s), JOB_FAIL, false, &error, NULL)) < 0) goto fail; log_debug("%s scheduled restart job.", s->meta.id);