chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
vconsole: add new utility to initialize the virtual console
[elogind.git]
/
src
/
service.c
diff --git
a/src/service.c
b/src/service.c
index 2d7ab70c1945a462643cb5a40825f870165ba1aa..df0d4002409f8d5cf3cb5ac49087d9bf8c9790f0 100644
(file)
--- a/
src/service.c
+++ b/
src/service.c
@@
-277,9
+277,11
@@
static int sysv_translate_facility(const char *name, char **_r) {
}
if (*name == '$')
}
if (*name == '$')
- return 0;
+ r = unit_name_build(name+1, NULL, ".target");
+ else
+ r = sysv_translate_name(name);
- if (!
(r = sysv_translate_name(name))
)
+ if (!
r
)
return -ENOMEM;
finish:
return -ENOMEM;
finish:
@@
-317,8
+319,8
@@
static int sysv_fix_order(Service *s) {
/* If both units have modern headers we don't care
* about the priorities */
/* If both units have modern headers we don't care
* about the priorities */
- if ((
!s->sysv
_path || s->sysv_has_lsb) &&
- (
!t->sysv
_path || t->sysv_has_lsb))
+ if ((
s->meta.fragment
_path || s->sysv_has_lsb) &&
+ (
t->meta.fragment
_path || t->sysv_has_lsb))
continue;
special_s = s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels);
continue;
special_s = s->sysv_runlevels && !chars_intersect(RUNLEVELS_UP, s->sysv_runlevels);
@@
-2278,7
+2280,7
@@
static void service_sigchld_event(Unit *u, pid_t pid, int code, int status) {
assert(s);
assert(pid >= 0);
assert(s);
assert(pid >= 0);
- if (
s->sysv
_path)
+ if (
!s->meta.fragment
_path)
success = is_clean_exit_lsb(code, status);
else
success = is_clean_exit(code, status);
success = is_clean_exit_lsb(code, status);
else
success = is_clean_exit(code, status);