X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fservice.c;h=e64d289fede715dd13b1829c5a9fcd963c725e64;hb=8725d60ae4f7a8471aa8a0207fa105e335d069a6;hp=2b45ecb71547f5d3d21d328c2b7843f76253a9b9;hpb=5375410bb2ed11a6a9e37063c0a551a7bf75338f;p=elogind.git diff --git a/src/service.c b/src/service.c index 2b45ecb71..e64d289fe 100644 --- a/src/service.c +++ b/src/service.c @@ -829,6 +829,7 @@ static int service_load_sysv_path(Service *s, const char *path) { /* Special setting for all SysV services */ s->type = SERVICE_FORKING; s->remain_after_exit = !s->pid_file; + s->guess_main_pid = false; s->restart = SERVICE_RESTART_NO; if (s->meta.manager->sysv_console) @@ -1145,6 +1146,8 @@ static int service_load(Unit *u) { /* This is a new unit? Then let's add in some extras */ if (u->meta.load_state == UNIT_LOADED) { + service_fix_output(s); + if ((r = unit_add_exec_dependencies(u, &s->exec_context)) < 0) return r; @@ -1173,8 +1176,6 @@ static int service_load(Unit *u) { if (s->meta.default_dependencies) if ((r = service_add_default_dependencies(s)) < 0) return r; - - service_fix_output(s); } return service_verify(s); @@ -3115,7 +3116,7 @@ static int service_enumerate(Manager *m) { free(fpath); fpath = join(path, "/", de->d_name, NULL); - if (!path) { + if (!fpath) { r = -ENOMEM; goto finish; }