diff options
author | bde <bde@FreeBSD.org> | 1995-07-31 22:48:46 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-07-31 22:48:46 +0000 |
commit | 41051c44b5f8cd2912590dc64a0a63e51651124c (patch) | |
tree | 1ec1d8fd08608dbfac04e1738efcb15f57d7af22 /sys/kern/tty.c | |
parent | 14ef24d99e1fcd7017a814b5def77ca5a727d336 (diff) | |
download | FreeBSD-src-41051c44b5f8cd2912590dc64a0a63e51651124c.zip FreeBSD-src-41051c44b5f8cd2912590dc64a0a63e51651124c.tar.gz |
Obtained from: partly from ancient patches of mine via 1.1.5
Handle MDMBUF a little better. Prepare to handle 4 different kinds of
output flow control.
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r-- | sys/kern/tty.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index f271101..7db76e1 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.63 1995/07/31 21:01:23 bde Exp $ + * $Id: tty.c,v 1.64 1995/07/31 21:43:37 bde Exp $ */ /*- @@ -1297,11 +1297,15 @@ ttymodem(tp, flag) if (ISSET(tp->t_state, TS_CARR_ON) && ISSET(tp->t_cflag, MDMBUF)) { /* * MDMBUF: do flow control according to carrier flag + * XXX TS_CAR_OFLOW doesn't do anything yet. TS_TTSTOP + * works if IXON and IXANY are clear. */ if (flag) { + CLR(tp->t_state, TS_CAR_OFLOW); CLR(tp->t_state, TS_TTSTOP); ttstart(tp); - } else if (!ISSET(tp->t_state, TS_TTSTOP)) { + } else if (!ISSET(tp->t_state, TS_CAR_OFLOW)) { + SET(tp->t_state, TS_CAR_OFLOW); SET(tp->t_state, TS_TTSTOP); #ifdef sun4c /* XXX */ (*tp->t_stop)(tp, 0); |