X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-session.c;h=10e9327c0f2e41289843aba2044bda9d8de7a18a;hb=f3f6ae7c983865ea37e8ddfbd676586e55280f1e;hp=28784a86759041c0276af423c26f786f35d21794;hpb=7e17c59e6b33219e1d478a74852a64d4c726d76b;p=elogind.git diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 28784a867..10e9327c0 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -768,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; } @@ -819,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; @@ -829,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); @@ -840,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) {