diff options
author | nicm <nicm> | 2015-08-28 12:16:28 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-08-28 12:16:28 +0000 |
commit | 75d10058a41d8e95dda126d460a119a9037e9345 (patch) | |
tree | 86acff4bc6433f9e8f76c5d241a2e1c8833368eb /server-client.c | |
parent | 18d4802a7bcfc08948dccfd9084144b043ac591b (diff) | |
download | rtmux-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.c | 38 |
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) |