aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authornicm <nicm>2015-08-28 12:16:28 +0000
committernicm <nicm>2015-08-28 12:16:28 +0000
commit75d10058a41d8e95dda126d460a119a9037e9345 (patch)
tree86acff4bc6433f9e8f76c5d241a2e1c8833368eb /server-client.c
parent18d4802a7bcfc08948dccfd9084144b043ac591b (diff)
downloadrtmux-75d10058a41d8e95dda126d460a119a9037e9345.tar.gz
rtmux-75d10058a41d8e95dda126d460a119a9037e9345.tar.bz2
rtmux-75d10058a41d8e95dda126d460a119a9037e9345.zip
Run status update on a per-client timer at status-interval.
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c38
1 files changed, 2 insertions, 36 deletions
diff --git a/server-client.c b/server-client.c
index f33018e4..82cec36c 100644
--- a/server-client.c
+++ b/server-client.c
@@ -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)