From d5f201345f6d27b6280750e5c6502f4418614fbc Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Wed, 29 May 2019 12:09:20 +0300
Subject: [PATCH] Fully shutdown DBUS on systemd_inhibit cleanup
(RhBug:1714657)
dbus_shutdown() frees internal DBUS memory allocations that will otherwise
show up as memory leaks. This is of little consequence in practise
but shuts up valgrind...
---
plugins/systemd_inhibit.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/plugins/systemd_inhibit.c b/plugins/systemd_inhibit.c
index e2cbcffbb..0628188ba 100644
--- a/plugins/systemd_inhibit.c
+++ b/plugins/systemd_inhibit.c
@@ -80,6 +80,11 @@ static rpmRC systemd_inhibit_init(rpmPlugin plugin, rpmts ts)
return RPMRC_NOTFOUND;
}
+static void systemd_inhibit_cleanup(rpmPlugin plugin)
+{
+ dbus_shutdown();
+}
+
static rpmRC systemd_inhibit_tsm_pre(rpmPlugin plugin, rpmts ts)
{
if (rpmtsFlags(ts) & (RPMTRANS_FLAG_TEST|RPMTRANS_FLAG_BUILD_PROBS))
@@ -106,6 +111,7 @@ static rpmRC systemd_inhibit_tsm_post(rpmPlugin plugin, rpmts ts, int res)
struct rpmPluginHooks_s systemd_inhibit_hooks = {
.init = systemd_inhibit_init,
+ .cleanup = systemd_inhibit_cleanup,
.tsm_pre = systemd_inhibit_tsm_pre,
.tsm_post = systemd_inhibit_tsm_post,
};
--
2.21.0