diff options
author | Thomas Adam <thomas@xteddy.org> | 2017-07-14 10:01:11 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2017-07-14 10:01:11 +0100 |
commit | 1265e212e47ca6cfc05ffbccc1edc079f97de461 (patch) | |
tree | fa98db3f05a32c89dbba0825b74905fd3de38aa4 | |
parent | e4cd8751a279ecc44a6e79c0784097bbd6a85780 (diff) | |
parent | 2678fe53f57c4a3222780c76a7201f4300058e59 (diff) | |
download | rtmux-1265e212e47ca6cfc05ffbccc1edc079f97de461.tar.gz rtmux-1265e212e47ca6cfc05ffbccc1edc079f97de461.tar.bz2 rtmux-1265e212e47ca6cfc05ffbccc1edc079f97de461.zip |
Merge branch 'obsd-master'
-rw-r--r-- | proc.c | 14 | ||||
-rw-r--r-- | server-client.c | 31 |
2 files changed, 20 insertions, 25 deletions
@@ -253,13 +253,13 @@ proc_clear_signals(struct tmuxproc *tp) sigaction(SIGPIPE, &sa, NULL); sigaction(SIGTSTP, &sa, NULL); - event_del(&tp->ev_sighup); - event_del(&tp->ev_sigchld); - event_del(&tp->ev_sigcont); - event_del(&tp->ev_sigterm); - event_del(&tp->ev_sigusr1); - event_del(&tp->ev_sigusr2); - event_del(&tp->ev_sigwinch); + signal_del(&tp->ev_sighup); + signal_del(&tp->ev_sigchld); + signal_del(&tp->ev_sigcont); + signal_del(&tp->ev_sigterm); + signal_del(&tp->ev_sigusr1); + signal_del(&tp->ev_sigusr2); + signal_del(&tp->ev_sigwinch); } struct tmuxpeer * diff --git a/server-client.c b/server-client.c index 338ae70d..61d4f45f 100644 --- a/server-client.c +++ b/server-client.c @@ -1331,28 +1331,23 @@ server_client_check_redraw(struct client *c) } } } - if (needed) { - left = EVBUFFER_LENGTH(tty->out); - if (left != 0) { - log_debug("%s: redraw deferred (%zu left)", c->name, left); - if (evtimer_initialized(&ev) && evtimer_pending(&ev, NULL)) - return; - log_debug("redraw timer started"); + if (needed && (left = EVBUFFER_LENGTH(tty->out)) != 0) { + log_debug("%s: redraw deferred (%zu left)", c->name, left); + if (!evtimer_initialized(&ev)) evtimer_set(&ev, server_client_redraw_timer, NULL); + if (!evtimer_pending(&ev, NULL)) { + log_debug("redraw timer started"); evtimer_add(&ev, &tv); - - /* - * We may have got here for a single pane redraw, but - * force a full redraw next time in case other panes - * have been updated. - */ - c->flags |= CLIENT_REDRAW; - return; } - if (evtimer_initialized(&ev)) - evtimer_del(&ev); + + /* + * We may have got here for a single pane redraw, but force a + * full redraw next time in case other panes have been updated. + */ + c->flags |= CLIENT_REDRAW; + return; + } else if (needed) log_debug("%s: redraw needed", c->name); - } if (c->flags & (CLIENT_REDRAW|CLIENT_STATUS)) { if (options_get_number(s->options, "set-titles")) |