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:
parent
013b87c091
commit
f6ff8c29ca
22
unit.c
22
unit.c
@ -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
2
unit.h
@ -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);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user