]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: introduce virSystemdHasLogind
authorJán Tomko <jtomko@redhat.com>
Tue, 13 Aug 2019 14:23:39 +0000 (16:23 +0200)
committerJán Tomko <jtomko@redhat.com>
Wed, 14 Aug 2019 14:22:12 +0000 (16:22 +0200)
Split it out from virSystemdPMSupportTarget.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/util/virsystemd.c

index 26b751311f8487c98a5079e90a8f4b5768a3bd43..b401eda6a207509032d626572fbafaaf68d2b7d1 100644 (file)
@@ -174,6 +174,21 @@ virSystemdHasMachined(void)
     return ret;
 }
 
+static int
+virSystemdHasLogind(void)
+{
+    int ret;
+
+    ret = virDBusIsServiceEnabled("org.freedesktop.login1");
+    if (ret < 0)
+        return ret;
+
+    if ((ret = virDBusIsServiceRegistered("org.freedesktop.login1")) < 0)
+        return ret;
+
+    return ret;
+}
+
 
 char *
 virSystemdGetMachineNameByPID(pid_t pid)
@@ -547,11 +562,7 @@ virSystemdPMSupportTarget(const char *methodName, bool *result)
     DBusMessage *message = NULL;
     char *response;
 
-    ret = virDBusIsServiceEnabled("org.freedesktop.login1");
-    if (ret < 0)
-        return ret;
-
-    if ((ret = virDBusIsServiceRegistered("org.freedesktop.login1")) < 0)
+    if ((ret = virSystemdHasLogind()) < 0)
         return ret;
 
     if (!(conn = virDBusGetSystemBus()))