chiark / gitweb /
after installing the transaction make sure we kill all remains ob the transaction
[elogind.git] / manager.c
index 682c7e7f26b451172563644618eff712ef9fe723..600b89ccf5af9510b339e7e3d57c883cdc1e3e4f 100644 (file)
--- a/manager.c
+++ b/manager.c
@@ -536,13 +536,17 @@ static int transaction_apply(Manager *m, JobMode mode) {
                 assert(!j->transaction_next);
                 assert(!j->transaction_prev);
 
+        }
+
+        /* As last step, kill all remaining job dependencies. */
+        HASHMAP_FOREACH(j, m->jobs, i) {
                 while (j->subject_list)
                         job_dependency_free(j->subject_list);
                 while (j->object_list)
                         job_dependency_free(j->object_list);
         }
 
-        m->transaction_anchor = NULL;
+        assert(!m->transaction_anchor);
 
         return 0;