From d43b0d5f23fd8fcc44965e52a54c1c108b643527 Mon Sep 17 00:00:00 2001 From: nicm Date: Sat, 1 Jan 2011 01:12:09 +0000 Subject: 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@. --- usr.bin/tmux/session.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'usr.bin/tmux/session.c') diff --git a/usr.bin/tmux/session.c b/usr.bin/tmux/session.c index 860fc9fa25e..31bdc553e3a 100644 --- a/usr.bin/tmux/session.c +++ b/usr.bin/tmux/session.c @@ -1,4 +1,4 @@ -/* $OpenBSD: session.c,v 1.26 2010/12/30 23:16:18 nicm Exp $ */ +/* $OpenBSD: session.c,v 1.27 2011/01/01 01:12:09 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -97,7 +97,7 @@ session_create(const char *name, const char *cmd, const char *cwd, if (gettimeofday(&s->creation_time, NULL) != 0) fatal("gettimeofday failed"); - memcpy(&s->activity_time, &s->creation_time, sizeof s->activity_time); + session_update_activity(s); s->cwd = xstrdup(cwd); @@ -164,6 +164,14 @@ session_destroy(struct session *s) RB_INSERT(sessions, &dead_sessions, s); } +/* Update session active time. */ +void +session_update_activity(struct session *s) +{ + if (gettimeofday(&s->activity_time, NULL) != 0) + fatal("gettimeofday"); +} + /* Find the next usable session. */ struct session * session_next_session(struct session *s) -- cgit v1.2.3-59-g8ed1b