Commit 819e213f authored by Lennart Poettering's avatar Lennart Poettering
Browse files

unit: refuse merging if the unit in question has a job assigned or suchlike

parent 8b6c7120
......@@ -219,6 +219,7 @@ int unit_set_description(Unit *u, const char *description) {
void unit_add_to_load_queue(Unit *u) {
assert(u);
assert(u->meta.type != _UNIT_TYPE_INVALID);
if (u->meta.load_state != UNIT_STUB || u->meta.in_load_queue)
return;
......@@ -239,6 +240,7 @@ void unit_add_to_cleanup_queue(Unit *u) {
void unit_add_to_dbus_queue(Unit *u) {
assert(u);
assert(u->meta.type != _UNIT_TYPE_INVALID);
if (u->meta.load_state == UNIT_STUB || u->meta.in_dbus_queue || set_isempty(u->meta.manager->subscribed))
return;
......@@ -409,6 +411,12 @@ int unit_merge(Unit *u, Unit *other) {
other->meta.load_state != UNIT_FAILED)
return -EEXIST;
if (other->meta.job)
return -EEXIST;
if (unit_active_state(other) != UNIT_INACTIVE)
return -EEXIST;
/* Merge names */
merge_names(u, other);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment