summaryrefslogtreecommitdiffstats
path: root/server.c
diff options
context:
space:
mode:
authorTiago Cunha <tcunha@gmx.com>2011-01-03 23:27:54 +0000
committerTiago Cunha <tcunha@gmx.com>2011-01-03 23:27:54 +0000
commitd3c04b74ecdec884bfa29d50d4315cfad7a2717a (patch)
treef492ad2d8aa11a19c9faf0d538c0ad89e59c4c95 /server.c
parent09ef2c9f407bc70080a35b88de02df5c5f2bfae9 (diff)
Sync OpenBSD patchset 819:
Don't reset the activity timer for unattached sessions every second, this screws up the choice of most-recently-used. Instead, break the time update into a little function and do it when the session is attached. Pointed out by joshe@.
Diffstat (limited to 'server.c')
-rw-r--r--server.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/server.c b/server.c
index 20cad7c5..6095bdd3 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.250 2010-12-30 22:39:49 tcunha Exp $ */
+/* $Id: server.c,v 1.251 2011-01-03 23:27:54 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -495,12 +495,8 @@ server_lock_server(void)
t = time(NULL);
RB_FOREACH(s, sessions, &sessions) {
- if (s->flags & SESSION_UNATTACHED) {
- if (gettimeofday(&s->activity_time, NULL) != 0)
- fatal("gettimeofday failed");
+ if (s->flags & SESSION_UNATTACHED)
continue;
- }
-
timeout = options_get_number(&s->options, "lock-after-time");
if (timeout <= 0 || t <= s->activity_time.tv_sec + timeout)
return; /* not timed out */
@@ -520,12 +516,8 @@ server_lock_sessions(void)
t = time(NULL);
RB_FOREACH(s, sessions, &sessions) {
- if (s->flags & SESSION_UNATTACHED) {
- if (gettimeofday(&s->activity_time, NULL) != 0)
- fatal("gettimeofday failed");
+ if (s->flags & SESSION_UNATTACHED)
continue;
- }
-
timeout = options_get_number(&s->options, "lock-after-time");
if (timeout > 0 && t > s->activity_time.tv_sec + timeout) {
server_lock_session(s);