diff options
author | ache <ache@FreeBSD.org> | 1994-12-04 01:01:45 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1994-12-04 01:01:45 +0000 |
commit | 653660fd3eb73f32778794e73e04ea9a87130694 (patch) | |
tree | e61abf339d384e868e575024654b2ea440141554 /sys | |
parent | e3931eff1e96f7a7651efdf134572226c95a862a (diff) | |
download | FreeBSD-src-653660fd3eb73f32778794e73e04ea9a87130694.zip FreeBSD-src-653660fd3eb73f32778794e73e04ea9a87130694.tar.gz |
Call d_stop in ttyflush not only for WRITE but for READ too
Obtained from: 1.1.5.1
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/tty.c | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index d15110f..85669e8 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.14 1994/11/26 18:54:25 bde Exp $ + * $Id: tty.c,v 1.15 1994/11/26 19:23:48 bde Exp $ */ #include <sys/param.h> @@ -1017,6 +1017,13 @@ ttyflush(tp, rw) register int s; s = spltty(); + if (rw & FWRITE) + CLR(tp->t_state, TS_TTSTOP); +#ifdef sun4c /* XXX */ + (*tp->t_stop)(tp, rw); +#else + (*cdevsw[major(tp->t_dev)].d_stop)(tp, rw); +#endif if (rw & FREAD) { FLUSHQ(&tp->t_canq); FLUSHQ(&tp->t_rawq); @@ -1026,12 +1033,6 @@ ttyflush(tp, rw) ttwakeup(tp); } if (rw & FWRITE) { - CLR(tp->t_state, TS_TTSTOP); -#ifdef sun4c /* XXX */ - (*tp->t_stop)(tp, rw); -#else - (*cdevsw[major(tp->t_dev)].d_stop)(tp, rw); -#endif FLUSHQ(&tp->t_outq); wakeup((caddr_t)&tp->t_outq); selwakeup(&tp->t_wsel); |