From dd9b67aa3e9476b3a4b3e231006eea6d108c841f Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 9 Jan 2014 06:45:38 +0800 Subject: logind: wait for the user service to finish startup before completing login attempt --- src/login/logind-session-dbus.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/login/logind-session-dbus.c') diff --git a/src/login/logind-session-dbus.c b/src/login/logind-session-dbus.c index f1905e93f3..54ad827feb 100644 --- a/src/login/logind-session-dbus.c +++ b/src/login/logind-session-dbus.c @@ -647,13 +647,16 @@ int session_send_create_reply(Session *s, sd_bus_error *error) { assert(s); - /* This is called after the session scope was successfully - * created, and finishes where bus_manager_create_session() - * left off. */ + /* This is called after the session scope and the user service + * were successfully created, and finishes where + * bus_manager_create_session() left off. */ if (!s->create_message) return 0; + if (!sd_bus_error_is_set(error) && (s->scope_job || s->user->service_job)) + return 0; + c = s->create_message; s->create_message = NULL; -- cgit v1.2.3-54-g00ecf