summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Wingo <wingo@pobox.com>2015-08-20 10:53:41 +0200
committerAndy Wingo <wingo@pobox.com>2015-08-20 10:53:41 +0200
commitb1d35da9e405abaab2ff540baf2e54087f92e881 (patch)
treeeabc375eb9bfff2409f5895640d5700dea0e1c58
parent92947a0878c5d129adb37ddbfdef35274ef5c6ae (diff)
Actually working with pamelogind/v219.5
* 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.
-rw-r--r--configure.ac2
-rw-r--r--src/login/logind-dbus.c9
-rw-r--r--src/login/logind-user.c2
3 files changed, 12 insertions, 1 deletions
diff --git a/configure.ac b/configure.ac
index 69d2d9bc0c..cfe7c8c61f 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 a3d49efbdd..b2f53ae017 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 294c1e799c..c0d0b967ae 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);