From b1d35da9e405abaab2ff540baf2e54087f92e881 Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Thu, 20 Aug 2015 10:53:41 +0200 Subject: [PATCH] Actually working with pam * src/login/logind-user.c (user_start): Don't start slices and systemd-user services. * src/login/logind-dbus.c (method_create_session): Send a reply directly instead of waiting on systemd that isn't there. * configure.ac: Bump version. --- configure.ac | 2 +- src/login/logind-dbus.c | 9 +++++++++ src/login/logind-user.c | 2 ++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 69d2d9bc0..cfe7c8c61 100644 --- a/configure.ac +++ b/configure.ac @@ -21,7 +21,7 @@ AC_PREREQ([2.64]) # FIXME: Update to proper web page AC_INIT([elogind], - [219.3], + [219.5], [http://bugs.freedesktop.org/enter_bug.cgi?product=elogind], [elogind], [http://www.freedesktop.org/wiki/Software/elogind]) diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index a3d49efbd..b2f53ae01 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -797,6 +797,15 @@ static int method_create_session(sd_bus *bus, sd_bus_message *message, void *use * created. We send the reply back from * session_send_create_reply(). */ + /* Elogind note: replying directly, since we're not actually + starting slices and thus we aren't waiting on systemd. */ + + r = session_send_create_reply(session, NULL); + if (r < 0) + goto fail; + + session_save(session); + return 1; fail: diff --git a/src/login/logind-user.c b/src/login/logind-user.c index 294c1e799..c0d0b967a 100644 --- a/src/login/logind-user.c +++ b/src/login/logind-user.c @@ -446,6 +446,7 @@ int user_start(User *u) { if (r < 0) return r; +#if 0 /* Create cgroup */ r = user_start_slice(u); if (r < 0) @@ -455,6 +456,7 @@ int user_start(User *u) { r = user_start_service(u); if (r < 0) return r; +#endif if (!dual_timestamp_is_set(&u->timestamp)) dual_timestamp_get(&u->timestamp); -- 2.30.2