From cc91696756e1747a24def7dee0324db65ae66d7e Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 8 Apr 2010 04:34:42 +0200 Subject: unit: when merging a device, follow the merge first --- unit.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'unit.c') diff --git a/unit.c b/unit.c index 6fa878345f..392be841d9 100644 --- a/unit.c +++ b/unit.c @@ -394,6 +394,8 @@ int unit_merge(Unit *u, Unit *other) { assert(other); assert(u->meta.manager == other->meta.manager); + other = unit_follow_merge(other); + if (other == u) return 0; @@ -403,7 +405,8 @@ int unit_merge(Unit *u, Unit *other) { if (u->meta.type != u->meta.type) return -EINVAL; - if (other->meta.load_state != UNIT_STUB) + if (other->meta.load_state != UNIT_STUB && + other->meta.load_state != UNIT_FAILED) return -EEXIST; /* Merge names */ -- cgit v1.2.3-54-g00ecf