summaryrefslogtreecommitdiffstats
path: root/src/core/manager.c
diff options
context:
space:
mode:
authorMike Yuan <me@yhndnzj.com>2025-01-13 17:30:51 +0100
committerMike Yuan <me@yhndnzj.com>2025-01-13 23:08:35 +0100
commit34f4b817f67b002eae7e2c09b19bf4b66c4791b6 (patch)
treebfe04d3de4371016f2addd755b9c2ac49bdd5a47 /src/core/manager.c
parentcore: serialize API bus id and validate before deserializing bus tracks (diff)
downloadsystemd-34f4b817f67b002eae7e2c09b19bf4b66c4791b6.tar.xz
systemd-34f4b817f67b002eae7e2c09b19bf4b66c4791b6.zip
core/manager: restore bus track deserialization cleanup in manager_reload()
There's zero explanation why it got (spuriously) removed in 8402ca04d1a063c3d8a9e3d5c16df8bb8778ae98...
Diffstat (limited to '')
-rw-r--r--src/core/manager.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/core/manager.c b/src/core/manager.c
index b749b0e1ca..8f1dc626c2 100644
--- a/src/core/manager.c
+++ b/src/core/manager.c
@@ -3801,6 +3801,11 @@ int manager_reload(Manager *m) {
(void) manager_setup_handoff_timestamp_fd(m);
(void) manager_setup_pidref_transport_fd(m);
+ /* Clean up deserialized bus track information. They're never consumed during reload (as opposed to
+ * reexec) since we do not disconnect from the bus. */
+ m->subscribed_as_strv = strv_free(m->subscribed_as_strv);
+ m->deserialized_bus_id = SD_ID128_NULL;
+
/* Third, fire things up! */
manager_coldplug(m);