From cadef8dcd75df1197e4d3834ac6b3260f93b7f68 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 18 May 2017 22:32:19 -0400 Subject: [PATCH] sd-login,test-login: return -ENODATA from sd_pid_get_unit too After all, we might be running on a non-elogind system. --- src/libelogind/sd-login/sd-login.c | 6 +++++- src/libelogind/sd-login/test-login.c | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/libelogind/sd-login/sd-login.c b/src/libelogind/sd-login/sd-login.c index 02cd8bebe..794136304 100644 --- a/src/libelogind/sd-login/sd-login.c +++ b/src/libelogind/sd-login/sd-login.c @@ -66,12 +66,16 @@ _public_ int sd_pid_get_session(pid_t pid, char **session) { } _public_ int sd_pid_get_unit(pid_t pid, char **unit) { +#if 0 /// UNNEEDED by elogind + int r; +#endif // 0 assert_return(pid >= 0, -EINVAL); assert_return(unit, -EINVAL); #if 0 /// elogind does not support systemd units - return cg_pid_get_unit(pid, unit); + r = cg_pid_get_unit(pid, unit); + return r == -ENXIO ? -ENODATA : r; #else return -ESRCH; #endif // 0 diff --git a/src/libelogind/sd-login/test-login.c b/src/libelogind/sd-login/test-login.c index a2f59717e..5fd0c131e 100644 --- a/src/libelogind/sd-login/test-login.c +++ b/src/libelogind/sd-login/test-login.c @@ -61,7 +61,8 @@ static void test_login(void) { uid_t u, u2; char *t, **seats, **sessions; - assert_se(sd_pid_get_unit(0, &unit) >= 0); + r = sd_pid_get_unit(0, &unit); + assert_se(r >= 0 || r == -ENODATA); log_info("sd_pid_get_unit(0, …) → \"%s\"", unit); r = sd_pid_get_user_unit(0, &user_unit); -- 2.30.2