summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-12-04 01:01:45 +0000
committerache <ache@FreeBSD.org>1994-12-04 01:01:45 +0000
commit653660fd3eb73f32778794e73e04ea9a87130694 (patch)
treee61abf339d384e868e575024654b2ea440141554 /sys
parente3931eff1e96f7a7651efdf134572226c95a862a (diff)
downloadFreeBSD-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.c15
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);
OpenPOWER on IntegriCloud