Always free deserialized_subscribed on reload
authorAli Abdallah <ali.abdallah@suse.com>
Thu, 21 Jan 2021 06:37:21 +0000 (07:37 +0100)
committerLuca Boccassi <bluca@debian.org>
Sun, 18 Jun 2023 14:55:54 +0000 (15:55 +0100)
Otherwise, it will keep consuming memory on systemctl daemon-reload.

(cherry picked from commit 3deed59afdc2c18ecb76fe90b9bba0cd66045dfa)

Gbp-Pq: Name Always-free-deserialized_subscribed-on-reload.patch

src/core/manager.c

index a1d6f7cc10bd0fc9b087f365665e226ff13d2177..6858950107985ea1812364516ae7b84adede6f69 100644 (file)
@@ -3842,6 +3842,9 @@ int manager_reload(Manager *m) {
         /* Clean up runtime objects no longer referenced */
         manager_vacuum(m);
 
+        /* Clean up deserialized tracked clients */
+        m->deserialized_subscribed = strv_free(m->deserialized_subscribed);
+
         /* Consider the reload process complete now. */
         assert(m->n_reloading > 0);
         m->n_reloading--;