diff --git a/server.c b/server.c index 2906fb87..6fdcf940 100644 --- a/server.c +++ b/server.c @@ -1377,6 +1377,11 @@ server_lock_server(void) if ((s = ARRAY_ITEM(&sessions, i)) == NULL) continue; + if (s->flags & SESSION_UNATTACHED) { + s->activity = time(NULL); + continue; + } + timeout = options_get_number(&s->options, "lock-after-time"); if (timeout <= 0 || t <= s->activity + timeout) return; /* not timed out */ @@ -1400,6 +1405,11 @@ server_lock_sessions(void) if ((s = ARRAY_ITEM(&sessions, i)) == NULL) continue; + if (s->flags & SESSION_UNATTACHED) { + s->activity = time(NULL); + continue; + } + timeout = options_get_number(&s->options, "lock-after-time"); if (timeout > 0 && t > s->activity + timeout) { server_lock_session(s);