From 8363e31953a346b3cd4141bf30a8d79d37ca2674 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Wed, 11 Aug 2010 07:34:43 +0000 Subject: Change the way backoff works. Instead of stopping reading from the pty when the client tty backs up too much, just stop updating the tty and only update the internal screen. Then when the tty recovers, force a redraw. This prevents a dodgy client from causing other clients to go into backoff while still allowing tmux to be responsive (locally) when seeing lots of output. --- tty.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'tty.c') diff --git a/tty.c b/tty.c index fa2cd552..bf0a48b0 100644 --- a/tty.c +++ b/tty.c @@ -578,7 +578,9 @@ tty_write(void (*cmdfn)( continue; if (c->session->curw->window == wp->window) { - if (c->tty.flags & TTY_FREEZE || c->tty.term == NULL) + if (c->tty.term == NULL) + continue; + if (c->tty.flags & (TTY_FREEZE|TTY_BACKOFF)) continue; cmdfn(&c->tty, ctx); } -- cgit