summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/server-client.c
diff options
context:
space:
mode:
authornicm <nicm@openbsd.org>2015-08-28 12:16:28 +0000
committernicm <nicm@openbsd.org>2015-08-28 12:16:28 +0000
commite8f6715cf012dbb4d66f3525e83273ecdbc28e88 (patch)
tree1ad343ac5a0aec08a18eacd028c3f8a6468d2c55 /usr.bin/tmux/server-client.c
parentLog time with message. (diff)
downloadwireguard-openbsd-e8f6715cf012dbb4d66f3525e83273ecdbc28e88.tar.xz
wireguard-openbsd-e8f6715cf012dbb4d66f3525e83273ecdbc28e88.zip
Run status update on a per-client timer at status-interval.
Diffstat (limited to 'usr.bin/tmux/server-client.c')
-rw-r--r--usr.bin/tmux/server-client.c40
1 files changed, 3 insertions, 37 deletions
diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c
index 696ee2ffe1f..93d19c61fa3 100644
--- a/usr.bin/tmux/server-client.c
+++ b/usr.bin/tmux/server-client.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: server-client.c,v 1.147 2015/07/29 11:56:02 nicm Exp $ */
+/* $OpenBSD: server-client.c,v 1.148 2015/08/28 12:16:28 nicm Exp $ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -188,6 +188,8 @@ server_client_lost(struct client *c)
if (c->stderr_data != c->stdout_data)
evbuffer_free(c->stderr_data);
+ if (event_initialized(&c->status_timer))
+ evtimer_del(&c->status_timer);
screen_free(&c->status);
free(c->title);
@@ -289,42 +291,6 @@ client_lost:
server_client_lost(c);
}
-/* Handle client status timer. */
-void
-server_client_status_timer(void)
-{
- struct client *c;
- struct session *s;
- struct timeval tv;
- int interval;
- time_t difference;
-
- if (gettimeofday(&tv, NULL) != 0)
- fatal("gettimeofday failed");
-
- TAILQ_FOREACH(c, &clients, entry) {
- if (c->session == NULL)
- continue;
- if (c->message_string != NULL || c->prompt_string != NULL) {
- /*
- * Don't need timed redraw for messages/prompts so bail
- * now. The status timer isn't reset when they are
- * redrawn anyway.
- */
- continue;
- }
- s = c->session;
-
- if (!options_get_number(&s->options, "status"))
- continue;
- interval = options_get_number(&s->options, "status-interval");
-
- difference = tv.tv_sec - c->status_timer.tv_sec;
- if (interval != 0 && difference >= interval)
- c->flags |= CLIENT_STATUS;
- }
-}
-
/* Check for mouse keys. */
int
server_client_check_mouse(struct client *c)