]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core: clear pending_reload_message_vl on manager varlink teardown main
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 11 Jun 2026 15:55:45 +0000 (16:55 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 13 Jun 2026 15:06:41 +0000 (17:06 +0200)
manager_varlink_done() tore down the varlink server without dropping the
queued reload reply, unlike bus_done_api() which unrefs
pending_reload_message_dbus. Unref it here too, so the slot consistently
mirrors the D-Bus side at teardown.

Follow-up for 55a1b36e91944dd1bc7c0861b69cff20aff8554d

Assisted-by: kres (claude-opus-4-7)
Co-developed-by: Claude Opus 4.8 <noreply@anthropic.com>
src/core/varlink.c

index 6074c55ab10c88cf32b40c3167e8113b7c935b74..d30cb7cab3358353f0f881c7a304da10ec29a551 100644 (file)
@@ -616,6 +616,8 @@ void manager_varlink_done(Manager *m) {
          * installed (vl_disconnect() above) to be called, where we will unref it too. */
         sd_varlink_close_unref(TAKE_PTR(m->managed_oom_varlink));
 
+        m->pending_reload_message_vl = sd_varlink_unref(m->pending_reload_message_vl);
+
         m->varlink_server = sd_varlink_server_unref(m->varlink_server);
         m->managed_oom_varlink = sd_varlink_close_unref(m->managed_oom_varlink);