diff options
author | 2015-08-28 12:16:28 +0000 | |
---|---|---|
committer | 2015-08-28 12:16:28 +0000 | |
commit | e8f6715cf012dbb4d66f3525e83273ecdbc28e88 (patch) | |
tree | 1ad343ac5a0aec08a18eacd028c3f8a6468d2c55 /usr.bin/tmux/server-client.c | |
parent | Log time with message. (diff) | |
download | wireguard-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.c | 40 |
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) |