From: Yu Watanabe Date: Fri, 10 May 2024 01:21:48 +0000 (+0900) Subject: core/unit: use FOREACH_ELEMENT() to add dependencies for journal namespace instances X-Git-Tag: v256-rc2~48^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2b699c2362f9abb14451111ee6402cf4ef763bb2;p=thirdparty%2Fsystemd.git core/unit: use FOREACH_ELEMENT() to add dependencies for journal namespace instances Follow-up for 06c0f569e94cc7406886079d241f1c1f82711937. --- diff --git a/src/core/unit.c b/src/core/unit.c index 4b290934fc6..0b2460cada0 100644 --- a/src/core/unit.c +++ b/src/core/unit.c @@ -1311,27 +1311,26 @@ int unit_add_exec_dependencies(Unit *u, ExecContext *c) { * is run first. */ if (c->log_namespace) { - FOREACH_STRING(s, "systemd-journald", "systemd-journald-varlink") { - _cleanup_free_ char *socket_unit = NULL; + static const struct { + const char *template; + UnitType type; + } deps[] = { + { "systemd-journald", UNIT_SOCKET, }, + { "systemd-journald-varlink", UNIT_SOCKET, }, + { "systemd-journald-sync", UNIT_SERVICE, }, + }; + + FOREACH_ELEMENT(i, deps) { + _cleanup_free_ char *unit = NULL; - r = unit_name_build_from_type(s, c->log_namespace, UNIT_SOCKET, &socket_unit); + r = unit_name_build_from_type(i->template, c->log_namespace, i->type, &unit); if (r < 0) return r; - r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, socket_unit, true, UNIT_DEPENDENCY_FILE); + r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, unit, true, UNIT_DEPENDENCY_FILE); if (r < 0) return r; } - - _cleanup_free_ char *sync_unit = NULL; - - r = unit_name_build_from_type("systemd-journald-sync", c->log_namespace, UNIT_SERVICE, &sync_unit); - if (r < 0) - return r; - - r = unit_add_two_dependencies_by_name(u, UNIT_AFTER, UNIT_REQUIRES, sync_unit, true, UNIT_DEPENDENCY_FILE); - if (r < 0) - return r; } else { r = unit_add_dependency_by_name(u, UNIT_AFTER, SPECIAL_JOURNALD_SOCKET, true, UNIT_DEPENDENCY_FILE); if (r < 0)