diff options
author | Tiago Cunha <tcunha@gmx.com> | 2011-01-03 23:27:54 +0000 |
---|---|---|
committer | Tiago Cunha <tcunha@gmx.com> | 2011-01-03 23:27:54 +0000 |
commit | d3c04b74ecdec884bfa29d50d4315cfad7a2717a (patch) | |
tree | f492ad2d8aa11a19c9faf0d538c0ad89e59c4c95 /session.c | |
parent | 09ef2c9f407bc70080a35b88de02df5c5f2bfae9 (diff) | |
download | rtmux-d3c04b74ecdec884bfa29d50d4315cfad7a2717a.tar.gz rtmux-d3c04b74ecdec884bfa29d50d4315cfad7a2717a.tar.bz2 rtmux-d3c04b74ecdec884bfa29d50d4315cfad7a2717a.zip |
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 'session.c')
-rw-r--r-- | session.c | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -1,4 +1,4 @@ -/* $Id: session.c,v 1.84 2010-12-30 22:39:49 tcunha Exp $ */ +/* $Id: session.c,v 1.85 2011-01-03 23:27:54 tcunha Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -96,7 +96,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); @@ -163,6 +163,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) |