core: simplify unit_load() a bit

Now all unit types define .load. But even if it wasn't defined, we'd need
to call unit_load_fragment_and_dropin() anyway, so this code would not have
worked correctly.

Also, unit_load_fragment_and_dropin() either returns -ENOENT or changes
UNIT_STUB to UNIT_LOADED, so we don't need to repeat this here.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2019-10-11 11:10:50 +02:00
parent e0cfed4c59
commit c3784a7d78

View file

@ -1542,16 +1542,11 @@ int unit_load(Unit *u) {
u->fragment_mtime = now(CLOCK_REALTIME);
}
if (UNIT_VTABLE(u)->load) {
r = UNIT_VTABLE(u)->load(u);
if (r < 0)
goto fail;
}
if (u->load_state == UNIT_STUB) {
r = -ENOENT;
r = UNIT_VTABLE(u)->load(u);
if (r < 0)
goto fail;
}
assert(u->load_state != UNIT_STUB);
if (u->load_state == UNIT_LOADED) {
unit_add_to_target_deps_queue(u);