From: Sven Eden Date: Tue, 9 Jan 2018 17:35:22 +0000 (+0100) Subject: Prep 235: Enabled sd_peer_get_slice() and sd_pid_get_slice() to at least try to work... X-Git-Tag: v235.1~7 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=99d9de1cc82e021be12d85352ee57e81860b282f;p=elogind.git Prep 235: Enabled sd_peer_get_slice() and sd_pid_get_slice() to at least try to work. This is considered experimental. --- diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 7e7d4c8f1..d909e2990 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -1921,7 +1921,6 @@ int cg_path_get_slice(const char *p, char **slice) { #endif // 0 } -#if 0 /// UNNEEDED by elogind int cg_pid_get_slice(pid_t pid, char **slice) { _cleanup_free_ char *cgroup = NULL; int r; @@ -1929,12 +1928,15 @@ int cg_pid_get_slice(pid_t pid, char **slice) { assert(slice); r = cg_pid_get_path_shifted(pid, NULL, &cgroup); + log_debug_elogind("Found cgroup %s for pid %u (result %d)", + cgroup, pid, r); if (r < 0) return r; return cg_path_get_slice(cgroup, slice); } +#if 0 /// UNNEEDED by elogind int cg_path_get_user_slice(const char *p, char **slice) { const char *t; assert(p); diff --git a/src/basic/cgroup-util.h b/src/basic/cgroup-util.h index 7b95370d3..419d5f4bd 100644 --- a/src/basic/cgroup-util.h +++ b/src/basic/cgroup-util.h @@ -226,7 +226,9 @@ int cg_pid_get_owner_uid(pid_t pid, uid_t *uid); int cg_pid_get_unit(pid_t pid, char **unit); int cg_pid_get_user_unit(pid_t pid, char **unit); int cg_pid_get_machine_name(pid_t pid, char **machine); +#endif // 0 int cg_pid_get_slice(pid_t pid, char **slice); +#if 0 /// UNNEEDED by elogind int cg_pid_get_user_slice(pid_t pid, char **slice); int cg_path_decode_unit(const char *cgroup, char **unit); diff --git a/src/libelogind/sd-login/sd-login.c b/src/libelogind/sd-login/sd-login.c index 91b3d1243..0900f0fe6 100644 --- a/src/libelogind/sd-login/sd-login.c +++ b/src/libelogind/sd-login/sd-login.c @@ -114,19 +114,13 @@ _public_ int sd_pid_get_machine_name(pid_t pid, char **name) { } _public_ int sd_pid_get_slice(pid_t pid, char **slice) { -#if 0 /// UNNEEDED by elogind int r; -#endif // 0 assert_return(pid >= 0, -EINVAL); assert_return(slice, -EINVAL); -#if 0 /// elogind does not support systemd slices r = cg_pid_get_slice(pid, slice); return IN_SET(r, -ENXIO, -ENOMEDIUM) ? -ENODATA : r; -#else - return -ESRCH; -#endif // 0 } _public_ int sd_pid_get_user_slice(pid_t pid, char **slice) { @@ -282,11 +276,7 @@ _public_ int sd_peer_get_slice(int fd, char **slice) { if (r < 0) return r; -#if 0 /// elogind does not support systemd slices return cg_pid_get_slice(ucred.pid, slice); -#else - return -ESRCH; -#endif // 0 } _public_ int sd_peer_get_user_slice(int fd, char **slice) {