From: Ján Tomko Date: Tue, 13 Aug 2019 14:23:39 +0000 (+0200) Subject: util: introduce virSystemdHasLogind X-Git-Tag: v5.7.0-rc1~237 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81177ff4de66257494f09ad2fe75dfdd86acd8fc;p=thirdparty%2Flibvirt.git util: introduce virSystemdHasLogind Split it out from virSystemdPMSupportTarget. Signed-off-by: Ján Tomko Reviewed-by: Michal Privoznik --- diff --git a/src/util/virsystemd.c b/src/util/virsystemd.c index 26b751311f..b401eda6a2 100644 --- a/src/util/virsystemd.c +++ b/src/util/virsystemd.c @@ -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()))