diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-05-02 08:34:39 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-05-02 08:34:39 +0000 |
commit | 9164dd63e7f670d3bd6e5132b3d15969aff1d55f (patch) | |
tree | 0cc203c21cd8d93e251f00fd03ed9319eec8b651 | |
parent | 827fac4c0be130e0410e50a4bd948242c7f9966b (diff) | |
download | rtmux-9164dd63e7f670d3bd6e5132b3d15969aff1d55f.tar.gz rtmux-9164dd63e7f670d3bd6e5132b3d15969aff1d55f.tar.bz2 rtmux-9164dd63e7f670d3bd6e5132b3d15969aff1d55f.zip |
Only worry about complete seconds for status line update. Also reduce poll interval and de-magic-number it.
-rw-r--r-- | server.c | 11 | ||||
-rw-r--r-- | tmux.h | 5 |
2 files changed, 10 insertions, 6 deletions
@@ -1,4 +1,4 @@ -/* $Id: server.c,v 1.138 2009-04-30 20:54:53 nicm Exp $ */ +/* $Id: server.c,v 1.139 2009-05-02 08:34:38 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -273,7 +273,7 @@ server_main(int srv_fd) /* Update socket permissions. */ xtimeout = INFTIM; if (sigterm || server_update_socket() != 0) - xtimeout = 100; + xtimeout = POLL_TIMEOUT; /* Do the poll. */ if ((nfds = poll(pfds, nfds, xtimeout)) == -1) { @@ -596,12 +596,12 @@ server_check_timers(struct client *c) if (!options_get_number(&s->options, "status")) return; + /* Check timer; resolution is only a second so don't be too clever. */ interval = options_get_number(&s->options, "status-interval"); if (interval == 0) return; - - tv.tv_sec -= interval; - if (timercmp(&c->status_timer, &tv, <)) + if (tv.tv_sec < c->status_timer.tv_sec || + tv.tv_sec - c->status_timer.tv_sec >= interval) c->flags |= CLIENT_STATUS; } @@ -1009,6 +1009,7 @@ server_second_timers(void) } } + /* Check for a minute having passed. */ gmtime_r(&t, &now); gmtime_r(&last_t, &then); if (now.tm_min == then.tm_min) @@ -1,4 +1,4 @@ -/* $Id: tmux.h,v 1.309 2009-04-30 21:17:06 nicm Exp $ */ +/* $Id: tmux.h,v 1.310 2009-05-02 08:34:39 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> @@ -127,6 +127,9 @@ extern const char *__progname; /* Escape timer period, in milliseconds. */ #define ESCAPE_PERIOD 250 +/* Maximum poll timeout (when attached). */ +#define POLL_TIMEOUT 50 + /* Fatal errors. */ #define fatal(msg) log_fatal("%s: %s", __func__, msg); #define fatalx(msg) log_fatalx("%s: %s", __func__, msg); |