Sync OpenBSD patchset 936:

Do not continue to send data to suspended/locked clients or there will
be a huge rush of it after they are resumed/unlocked. The main output
path was fine but status line updates and the terminal state reset code
were missed.
This commit is contained in:
Tiago Cunha 2011-07-08 22:58:30 +00:00
parent bcacbb1a89
commit 67e70770c8
2 changed files with 9 additions and 2 deletions

View File

@ -1,4 +1,4 @@
/* $Id: screen-redraw.c,v 1.53 2010-09-18 15:43:53 tcunha Exp $ */
/* $Id$ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -176,6 +176,10 @@ screen_redraw_screen(struct client *c, int status_only, int borders_only)
u_int i, j, type;
int status, fg, bg;
/* Suspended clients should not be updated. */
if (c->flags & CLIENT_SUSPENDED)
return;
/* Get status line, er, status. */
if (c->message_string != NULL || c->prompt_string != NULL)
status = 1;

View File

@ -1,4 +1,4 @@
/* $Id: server-client.c,v 1.62 2011-05-22 16:25:02 tcunha Exp $ */
/* $Id$ */
/*
* Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
@ -473,6 +473,9 @@ server_client_reset_state(struct client *c)
struct options *wo = &w->options;
int status, mode;
if (c->flags & CLIENT_SUSPENDED)
return;
tty_region(&c->tty, 0, c->tty.sy - 1);
status = options_get_number(oo, "status");