[libvirt] [PATCH] Fix virsystemdtest without SYSTEMD_DAEMON

Ján Tomko jtomko at redhat.com
Mon Apr 14 17:50:33 UTC 2014


Commit 4897698 fixed the build without dbus by only building
the virSystemdPMSupportTarget with SYSTEMD_DAEMON.

Introduce a virDBusMessageUnref wrapper for dbus_message_unref
to let virsystemd.c build without dbus, while still allowing
virsystemdtest to run without SYSTEM_DAEMON.
---
 src/util/virdbus.c    |  9 +++++++++
 src/util/virdbus.h    |  1 +
 src/util/virsystemd.c | 11 +----------
 3 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/src/util/virdbus.c b/src/util/virdbus.c
index 0cd3858..4217aea 100644
--- a/src/util/virdbus.c
+++ b/src/util/virdbus.c
@@ -1614,6 +1614,11 @@ int virDBusIsServiceRegistered(const char *name)
     return ret;
 }
 
+void virDBusMessageUnref(DBusMessage *msg)
+{
+    dbus_message_unref(msg);
+}
+
 #else /* ! WITH_DBUS */
 void virDBusSetSharedBus(bool shared ATTRIBUTE_UNUSED)
 {
@@ -1751,4 +1756,8 @@ int virDBusIsServiceRegistered(const char *name ATTRIBUTE_UNUSED)
     return -2;
 }
 
+void virDBusMessageUnref(DBusMessage *msg ATTRIBUTE_UNUSED)
+{
+    /* nothing */
+}
 #endif /* ! WITH_DBUS */
diff --git a/src/util/virdbus.h b/src/util/virdbus.h
index 0f21821..a4987b8 100644
--- a/src/util/virdbus.h
+++ b/src/util/virdbus.h
@@ -74,6 +74,7 @@ int virDBusCall(DBusConnection *conn,
                 DBusError *error);
 int virDBusMessageRead(DBusMessage *msg,
                        const char *types, ...);
+void virDBusMessageUnref(DBusMessage *msg);
 
 int virDBusIsServiceEnabled(const char *name);
 int virDBusIsServiceRegistered(const char *name);
diff --git a/src/util/virsystemd.c b/src/util/virsystemd.c
index e67956f..ad15a18 100644
--- a/src/util/virsystemd.c
+++ b/src/util/virsystemd.c
@@ -326,7 +326,6 @@ virSystemdNotifyStartup(void)
 #endif
 }
 
-#ifdef WITH_SYSTEMD_DAEMON
 static int
 virSystemdPMSupportTarget(const char *methodName, bool *result)
 {
@@ -365,19 +364,11 @@ virSystemdPMSupportTarget(const char *methodName, bool *result)
     ret = 0;
 
  cleanup:
-    dbus_message_unref(message);
+    virDBusMessageUnref(message);
     VIR_FREE(response);
 
     return ret;
 }
-#else /* ! WITH_SYSTEMD_DAEMON */
-static int
-virSystemdPMSupportTarget(const char *methodName ATTRIBUTE_UNUSED,
-                          bool *result ATTRIBUTE_UNUSED)
-{
-    return -2;
-}
-#endif /* ! WITH_SYSTEMD_DAEMON */
 
 int virSystemdCanSuspend(bool *result)
 {
-- 
1.8.3.2




More information about the libvir-list mailing list