X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fmanager.c;h=38964939c3336d1fdc9511ffb23e1b10cc3b7b93;hb=7020e8be3f0e207ceacc8b3c8c0b1f6c99597ea8;hp=e37aa836027ddb3da7da60a137b340daf21b091a;hpb=86d6515040a729779a58b8c70465563b9008cea1;p=elogind.git diff --git a/src/manager.c b/src/manager.c index e37aa8360..38964939c 100644 --- a/src/manager.c +++ b/src/manager.c @@ -543,13 +543,24 @@ 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); while ((u = hashmap_first(m->units))) unit_free(u); + + manager_dispatch_cleanup_queue(m); + + assert(!m->load_queue); + assert(!m->run_queue); + assert(!m->dbus_unit_queue); + assert(!m->dbus_job_queue); + assert(!m->cleanup_queue); + assert(!m->gc_queue); + + assert(hashmap_isempty(m->transaction_jobs)); + assert(hashmap_isempty(m->jobs)); + assert(hashmap_isempty(m->units)); } void manager_free(Manager *m) {