mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 23:21:22 +03:00
unit: avoid assert on daemon reload
This commit is contained in:
parent
6dded4c705
commit
a013b84b49
@ -543,6 +543,8 @@ static void manager_clear_jobs_and_units(Manager *m) {
|
||||
|
||||
assert(m);
|
||||
|
||||
manager_dispatch_cleanup_queue(m);
|
||||
|
||||
while ((j = hashmap_first(m->transaction_jobs)))
|
||||
job_free(j);
|
||||
|
||||
@ -555,7 +557,6 @@ void manager_free(Manager *m) {
|
||||
|
||||
assert(m);
|
||||
|
||||
manager_dispatch_cleanup_queue(m);
|
||||
manager_clear_jobs_and_units(m);
|
||||
|
||||
for (c = 0; c < _UNIT_TYPE_MAX; c++)
|
||||
|
@ -319,6 +319,10 @@ void unit_free(Unit *u) {
|
||||
|
||||
bus_unit_send_removed_signal(u);
|
||||
|
||||
if (u->meta.load_state != UNIT_STUB)
|
||||
if (UNIT_VTABLE(u)->done)
|
||||
UNIT_VTABLE(u)->done(u);
|
||||
|
||||
/* Detach from next 'bigger' objects */
|
||||
SET_FOREACH(t, u->meta.names, i)
|
||||
hashmap_remove_value(u->meta.manager->units, t, u);
|
||||
@ -344,10 +348,6 @@ void unit_free(Unit *u) {
|
||||
if (u->meta.job)
|
||||
job_free(u->meta.job);
|
||||
|
||||
if (u->meta.load_state != UNIT_STUB)
|
||||
if (UNIT_VTABLE(u)->done)
|
||||
UNIT_VTABLE(u)->done(u);
|
||||
|
||||
cgroup_bonding_free_list(u->meta.cgroup_bondings);
|
||||
|
||||
for (d = 0; d < _UNIT_DEPENDENCY_MAX; d++)
|
||||
|
Loading…
Reference in New Issue
Block a user