X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-dbus.c;h=2c86b9fa264d6ab7069b3e88ec4de9aedfb4811b;hb=d7353ef6095f5e7db63d9cc898c7134b64482550;hp=08510b5ecc8599bfee216a33aa5414d7209d2d93;hpb=d14ab08b29d5b0b3ead6e63ac8be472f273011f9;p=elogind.git diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 08510b5ec..2c86b9fa2 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -1971,6 +1971,20 @@ int match_job_removed(sd_bus *bus, sd_bus_message *message, void *userdata, sd_b user->slice_job = NULL; } + LIST_FOREACH(sessions_by_user, session, user->sessions) { + if (!session->started) + continue; + + if (streq(result, "done")) + session_send_create_reply(session, NULL); + else { + _cleanup_bus_error_free_ sd_bus_error e = SD_BUS_ERROR_NULL; + + sd_bus_error_setf(&e, BUS_ERROR_JOB_FAILED, "Start job for unit %s failed with '%s'", unit, result); + session_send_create_reply(session, &e); + } + } + user_save(user); user_add_to_gc_queue(user); }