]> err.no Git - systemd/commitdiff
unit: garbage collect units with load error
authorMichal Schmidt <mschmidt@redhat.com>
Mon, 5 Dec 2011 23:47:28 +0000 (00:47 +0100)
committerMichal Schmidt <mschmidt@redhat.com>
Mon, 5 Dec 2011 23:52:37 +0000 (00:52 +0100)
Units that failed to load were never cleaned up. It was possible to
reach the 128K limit of units by attempting to load a bunch of nonsense.

Bug observed by Reartes Guillermo in
https://bugzilla.redhat.com/show_bug.cgi?id=680122

src/unit.c

index 2a549e2f81186133bc3c6e288197613a4da61968..018e9861cb36e64a12936143eb1a6431bf8b98b4 100644 (file)
@@ -858,6 +858,7 @@ fail:
         u->meta.load_state = UNIT_ERROR;
         u->meta.load_error = r;
         unit_add_to_dbus_queue(u);
+        unit_add_to_gc_queue(u);
 
         log_debug("Failed to load configuration for %s: %s", u->meta.id, strerror(-r));