X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=load-fragment.c;h=94bdf171af56782cfae35bedade867142807942a;hp=9273fc8b83dceed7f71b8d99d47e2e8ca7b737c7;hb=b08d03ffe58332f590aae5c78a85e4fc0b8588ce;hpb=d46de8a1a249e179687361dcaeba27e1c586253a diff --git a/load-fragment.c b/load-fragment.c index 9273fc8b8..94bdf171a 100644 --- a/load-fragment.c +++ b/load-fragment.c @@ -35,19 +35,15 @@ static int config_parse_deps( FOREACH_WORD(w, &l, rvalue, state) { char *t; int r; - Unit *other; if (!(t = strndup(w, l))) return -ENOMEM; - r = manager_load_unit(u->meta.manager, t, &other); + r = unit_add_dependency_by_name(u, d, t); free(t); if (r < 0) return r; - - if ((r = unit_add_dependency(u, d, other)) < 0) - return r; } return 0; @@ -208,7 +204,8 @@ static int config_parse_nice( void *data, void *userdata) { - int *i = data, priority, r; + ExecContext *c = data; + int priority, r; assert(filename); assert(lvalue); @@ -225,7 +222,9 @@ static int config_parse_nice( return -ERANGE; } - *i = priority; + c->nice = priority; + c->nice_set = false; + return 0; } @@ -238,7 +237,8 @@ static int config_parse_oom_adjust( void *data, void *userdata) { - int *i = data, oa, r; + ExecContext *c = data; + int oa, r; assert(filename); assert(lvalue); @@ -255,7 +255,9 @@ static int config_parse_oom_adjust( return -ERANGE; } - *i = oa; + c->oom_adjust = oa; + c->oom_adjust_set = true; + return 0; } @@ -645,6 +647,8 @@ static int open_follow(char **filename, FILE **_f, Set *names, char **_id) { if (c++ >= FOLLOW_MAX) return -ELOOP; + path_kill_slashes(*filename); + /* Add the file name we are currently looking at to * the names of this unit */ name = file_name_from_path(*filename); @@ -709,8 +713,8 @@ static int load_from_path(Unit *u, const char *path) { { "User", config_parse_string, &(context).user, section }, \ { "Group", config_parse_string, &(context).group, section }, \ { "SupplementaryGroups", config_parse_strv, &(context).supplementary_groups, section }, \ - { "Nice", config_parse_nice, &(context).nice, section }, \ - { "OOMAdjust", config_parse_oom_adjust, &(context).oom_adjust, section }, \ + { "Nice", config_parse_nice, &(context), section }, \ + { "OOMAdjust", config_parse_oom_adjust, &(context), section }, \ { "UMask", config_parse_umask, &(context).umask, section }, \ { "Environment", config_parse_strv, &(context).environment, section }, \ { "Output", config_parse_output, &(context).output, section }, \ @@ -802,12 +806,12 @@ static int load_from_path(Unit *u, const char *path) { if ((r = unit_add_name(u, k)) < 0) goto finish; - if (id == k) - assert_se(u->meta.id = set_get(u->meta.names, k)); free(k); } + unit_choose_id(u, id); + free(u->meta.load_path); u->meta.load_path = filename; filename = NULL;