From: Zbigniew Jędrzejewski-Szmek Date: Fri, 19 May 2017 02:32:19 +0000 (-0400) Subject: sd-login,test-login: return -ENODATA from sd_pid_get_unit too X-Git-Tag: v234~181^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=171f8f591ff27ebb5ff475b7a9d1f13a846c9331;p=thirdparty%2Fsystemd.git sd-login,test-login: return -ENODATA from sd_pid_get_unit too After all, we might be running on a non-systemd system. --- diff --git a/src/libsystemd/sd-login/sd-login.c b/src/libsystemd/sd-login/sd-login.c index cd844b3105b..82a94bfd5c2 100644 --- a/src/libsystemd/sd-login/sd-login.c +++ b/src/libsystemd/sd-login/sd-login.c @@ -66,11 +66,13 @@ _public_ int sd_pid_get_session(pid_t pid, char **session) { } _public_ int sd_pid_get_unit(pid_t pid, char **unit) { + int r; assert_return(pid >= 0, -EINVAL); assert_return(unit, -EINVAL); - return cg_pid_get_unit(pid, unit); + r = cg_pid_get_unit(pid, unit); + return r == -ENXIO ? -ENODATA : r; } _public_ int sd_pid_get_user_unit(pid_t pid, char **unit) { diff --git a/src/libsystemd/sd-login/test-login.c b/src/libsystemd/sd-login/test-login.c index fb7d4e2ece9..6889d2f0b40 100644 --- a/src/libsystemd/sd-login/test-login.c +++ b/src/libsystemd/sd-login/test-login.c @@ -59,7 +59,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);