diff options
author | Sven Eden <sven.eden@prydeworx.com> | 2018-11-08 07:53:08 +0100 |
---|---|---|
committer | Sven Eden <sven.eden@prydeworx.com> | 2018-11-08 08:02:57 +0100 |
commit | 918e88d5024ce206d678799d4e455fb6d980db49 (patch) | |
tree | 58eafe6b8fc8955aef4303fd2ef97216b30ff4ee /src/login/logind-core.c | |
parent | 2f5ca87f222ec5ae62e5c2f17b53046905ecfbca (diff) |
Prep v239.2: Fix migration errors in login
Diffstat (limited to 'src/login/logind-core.c')
-rw-r--r-- | src/login/logind-core.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/login/logind-core.c b/src/login/logind-core.c index 1d85278c6..e7517794c 100644 --- a/src/login/logind-core.c +++ b/src/login/logind-core.c @@ -6,7 +6,7 @@ #include <sys/types.h> #include <linux/vt.h> #if ENABLE_UTMP -//#include <utmpx.h> +#include <utmpx.h> #endif #include "alloc-util.h" @@ -17,7 +17,7 @@ #include "fd-util.h" #include "logind.h" #include "parse-util.h" -//#include "path-util.h" +#include "path-util.h" #include "process-util.h" #include "strv.h" #include "terminal-util.h" @@ -357,28 +357,29 @@ int manager_get_session_by_pid(Manager *m, pid_t pid, Session **ret) { if (!pid_is_valid(pid)) return -EINVAL; + s = hashmap_get(m->sessions_by_leader, PID_TO_PTR(pid)); + if (!s) { #if 0 /// elogind does not support systemd units, but its own session system + r = cg_pid_get_unit(pid, &unit); + if (r < 0) + goto not_found; + s = hashmap_get(m->session_units, unit); if (!s) goto not_found; - } #else - log_debug_elogind("Searching session for PID %u", pid); - r = cg_pid_get_session(pid, &session_name); - if (r < 0) - goto not_found; - s = hashmap_get(m->sessions_by_leader, PID_TO_PTR(pid)); - if (!s) { - r = cg_pid_get_unit(pid, &unit); + log_debug_elogind("Searching session for PID %u", pid); + r = cg_pid_get_session(pid, &session_name); if (r < 0) goto not_found; - s = hashmap_get(m->sessions, session_name); - log_debug_elogind("Session Name \"%s\" -> Session \"%s\"", - session_name, s && s->id ? s->id : "NULL"); - if (NULL == s) - goto not_found; + s = hashmap_get(m->sessions, session_name); + log_debug_elogind("Session Name \"%s\" -> Session \"%s\"", + session_name, s && s->id ? s->id : "NULL"); + if (NULL == s) + goto not_found; #endif // 0 + } if (ret) *ret = s; |