Sync OpenBSD patchset 1011:

Remove unused backoff code that doesn't do any good.
This commit is contained in:
Tiago Cunha 2012-01-23 12:24:00 +00:00
parent 4d80980e50
commit a34a72d2d9
2 changed files with 1 additions and 46 deletions

View File

@ -560,50 +560,6 @@ server_client_check_exit(struct client *c)
c->flags &= ~CLIENT_EXIT;
}
/*
* Check if the client should backoff. During backoff, data from external
* programs is not written to the terminal. When the existing data drains, the
* client is redrawn.
*
* There are two backoff phases - both the tty and client have backoff flags -
* the first to allow existing data to drain and the latter to ensure backoff
* is disabled until the redraw has finished and prevent the redraw triggering
* another backoff.
*/
void
server_client_check_backoff(struct client *c)
{
struct tty *tty = &c->tty;
size_t used;
used = EVBUFFER_LENGTH(tty->event->output);
/*
* If in the second backoff phase (redrawing), don't check backoff
* until the redraw has completed (or enough of it to drop below the
* backoff threshold).
*/
if (c->flags & CLIENT_BACKOFF) {
if (used > BACKOFF_THRESHOLD)
return;
c->flags &= ~CLIENT_BACKOFF;
return;
}
/* Once drained, allow data through again and schedule redraw. */
if (tty->flags & TTY_BACKOFF) {
if (used != 0)
return;
tty->flags &= ~TTY_BACKOFF;
c->flags |= (CLIENT_BACKOFF|CLIENT_REDRAWWINDOW|CLIENT_STATUS);
return;
}
/* If too much data, start backoff. */
if (used > BACKOFF_THRESHOLD)
tty->flags |= TTY_BACKOFF;
}
/* Check for client redraws. */
void
server_client_check_redraw(struct client *c)

3
tmux.h
View File

@ -1164,8 +1164,7 @@ struct client {
#define CLIENT_DEAD 0x200
#define CLIENT_BORDERS 0x400
#define CLIENT_READONLY 0x800
#define CLIENT_BACKOFF 0x1000
#define CLIENT_REDRAWWINDOW 0x2000
#define CLIENT_REDRAWWINDOW 0x1000
int flags;
struct event identify_timer;