summaryrefslogtreecommitdiff
path: root/sys/kern/tty.c
diff options
context:
space:
mode:
authorAndrey A. Chernov <ache@FreeBSD.org>1995-02-24 02:36:01 +0000
committerAndrey A. Chernov <ache@FreeBSD.org>1995-02-24 02:36:01 +0000
commit81c427da325f2e1912e95edf06aba0e09cf63092 (patch)
tree03525bc706be4b23a34aa19364d06b82356faf5b /sys/kern/tty.c
parent977e8ea0c9a677d8b22526a0522cfa815001df9a (diff)
Notes
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r--sys/kern/tty.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
index 82907accb039..33c75a06822b 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);
}