diff options
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r-- | sys/kern/tty.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index 82907ac..33c75a0 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.c 8.8 (Berkeley) 1/21/94 - * $Id: tty.c,v 1.29 1995/02/22 23:20:51 ache Exp $ + * $Id: tty.c,v 1.28 1995/02/15 22:25:51 ache Exp $ */ #include "snp.h" @@ -1083,6 +1083,16 @@ ttyflush(tp, rw) wakeup((caddr_t)&tp->t_outq); selwakeup(&tp->t_wsel); } + if ((rw & FREAD) && + ISSET(tp->t_state, TS_TBLOCK) && tp->t_rawq.c_cc < TTYHOG/5) { + if (ISSET(tp->t_iflag, IXOFF) && + tp->t_cc[VSTART] != _POSIX_VDISABLE && + putc(tp->t_cc[VSTART], &tp->t_outq) == 0 || + ISSET(tp->t_cflag, CRTS_IFLOW)) { + CLR(tp->t_state, TS_TBLOCK); + ttstart(tp); + } + } splx(s); } |