X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-session.c;h=10e9327c0f2e41289843aba2044bda9d8de7a18a;hp=a2709f3d0e853773d6cee59d82df3a1b8fb27851;hb=f3f6ae7c983865ea37e8ddfbd676586e55280f1e;hpb=6179ccf82559f78ee6526452d6052b4a964f7f3b diff --git a/src/login/logind-session.c b/src/login/logind-session.c index a2709f3d0..10e9327c0 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -33,6 +33,7 @@ #include "bus-error.h" #include "bus-util.h" #include "escape.h" +#include "extract-word.h" #include "fd-util.h" #include "fileio.h" #include "format-util.h" @@ -767,6 +768,10 @@ int session_stop(Session *s, bool force) { session_save(s); user_save(s->user); +#if 1 /// elogind must queue this session again + session_add_to_gc_queue(s); +#endif // 1 + return r; } @@ -818,7 +823,6 @@ int session_finalize(Session *s) { return 0; } -#if 0 /// UNNEEDED by elogind static int release_timeout_callback(sd_event_source *es, uint64_t usec, void *userdata) { Session *s = userdata; @@ -828,7 +832,6 @@ static int release_timeout_callback(sd_event_source *es, uint64_t usec, void *us session_stop(s, false); return 0; } -#endif // 0 int session_release(Session *s) { assert(s); @@ -839,18 +842,11 @@ int session_release(Session *s) { if (s->timer_event_source) return 0; -#if 0 /// UNNEEDED by elogind return sd_event_add_time(s->manager->event, &s->timer_event_source, CLOCK_MONOTONIC, now(CLOCK_MONOTONIC) + RELEASE_USEC, 0, release_timeout_callback, s); -#else - /* In systemd, session release is triggered by user jobs - dying. In elogind we don't have that so go ahead and stop - now. */ - return session_stop(s, false); -#endif // 0 } bool session_is_active(Session *s) {