1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 11:55:44 +03:00

unit: introduce unit_load_related_unit()

This commit is contained in:
Lennart Poettering 2010-04-10 04:48:33 +02:00
parent 013b87c091
commit f6ff8c29ca
2 changed files with 24 additions and 0 deletions

22
unit.c
View File

@ -1440,6 +1440,28 @@ CGroupBonding* unit_get_default_cgroup(Unit *u) {
return cgroup_bonding_find_list(u->meta.cgroup_bondings, u->meta.manager->cgroup_controller); return cgroup_bonding_find_list(u->meta.cgroup_bondings, u->meta.manager->cgroup_controller);
} }
int unit_load_related_unit(Unit *u, const char *type, Unit **_found) {
char *t;
int r;
assert(u);
assert(type);
assert(_found);
if (!(t = unit_name_change_suffix(unit_id(u), type)))
return -ENOMEM;
assert(!unit_has_name(u, t));
r = manager_load_unit(u->meta.manager, t, _found);
free(t);
if (r >= 0)
assert(*_found != u);
return r;
}
static const char* const unit_type_table[_UNIT_TYPE_MAX] = { static const char* const unit_type_table[_UNIT_TYPE_MAX] = {
[UNIT_SERVICE] = "service", [UNIT_SERVICE] = "service",
[UNIT_TIMER] = "timer", [UNIT_TIMER] = "timer",

2
unit.h
View File

@ -324,6 +324,8 @@ char *unit_name_escape_path(const char *path, const char *suffix);
char *unit_dbus_path(Unit *u); char *unit_dbus_path(Unit *u);
int unit_load_related_unit(Unit *u, const char *type, Unit **_found);
const char *unit_type_to_string(UnitType i); const char *unit_type_to_string(UnitType i);
UnitType unit_type_from_string(const char *s); UnitType unit_type_from_string(const char *s);