mirror of
https://github.com/tmux/tmux.git
synced 2024-11-05 10:28:48 +00:00
Sync OpenBSD patchset 1011:
Remove unused backoff code that doesn't do any good.
This commit is contained in:
parent
4d80980e50
commit
a34a72d2d9
@ -560,50 +560,6 @@ server_client_check_exit(struct client *c)
|
|||||||
c->flags &= ~CLIENT_EXIT;
|
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. */
|
/* Check for client redraws. */
|
||||||
void
|
void
|
||||||
server_client_check_redraw(struct client *c)
|
server_client_check_redraw(struct client *c)
|
||||||
|
3
tmux.h
3
tmux.h
@ -1164,8 +1164,7 @@ struct client {
|
|||||||
#define CLIENT_DEAD 0x200
|
#define CLIENT_DEAD 0x200
|
||||||
#define CLIENT_BORDERS 0x400
|
#define CLIENT_BORDERS 0x400
|
||||||
#define CLIENT_READONLY 0x800
|
#define CLIENT_READONLY 0x800
|
||||||
#define CLIENT_BACKOFF 0x1000
|
#define CLIENT_REDRAWWINDOW 0x1000
|
||||||
#define CLIENT_REDRAWWINDOW 0x2000
|
|
||||||
int flags;
|
int flags;
|
||||||
|
|
||||||
struct event identify_timer;
|
struct event identify_timer;
|
||||||
|
Loading…
Reference in New Issue
Block a user