summaryrefslogtreecommitdiffstats
path: root/sys/dev/rc
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-07-29 04:05:57 +0000
committerbde <bde@FreeBSD.org>1995-07-29 04:05:57 +0000
commitfc1f58e6bbb8b5f01b0e63dbc29d6f8ce797f3b6 (patch)
tree83ebf6956051d1ef9894f27f80de68e1034d8f96 /sys/dev/rc
parent74ba692f9541a63e7a4a98df507d39a8b5811768 (diff)
downloadFreeBSD-src-fc1f58e6bbb8b5f01b0e63dbc29d6f8ce797f3b6.zip
FreeBSD-src-fc1f58e6bbb8b5f01b0e63dbc29d6f8ce797f3b6.tar.gz
Always wake up writers after clearing TS_BUSY. This will soon be
essential when I fix excessive wakeups for output-below-low-water. In cy.c and sio.c, wake up via the driver start routine to also eliminate duplicated code involving the clearing of TS_TTSTOP. Always (except in code to be replaced soon) call driver start routine directly instead of going through ttstart().
Diffstat (limited to 'sys/dev/rc')
-rw-r--r--sys/dev/rc/rc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/rc/rc.c b/sys/dev/rc/rc.c
index 07e0264..e496a48 100644
--- a/sys/dev/rc/rc.c
+++ b/sys/dev/rc/rc.c
@@ -693,7 +693,7 @@ repeat:
|| (tp->t_cc[VSTART] == tp->t_cc[VSTOP]))) {
tp->t_state &= ~TS_TTSTOP;
tp->t_lflag &= ~FLUSHO;
- ttstart(tp);
+ rc_start(tp);
}
} else {
for (; tptr < eptr; tptr++)
@@ -1468,6 +1468,7 @@ rc_discard_output(rc)
rc->rc_optr = rc->rc_obufend;
rc->rc_tp->t_state &= ~TS_BUSY;
enable_intr();
+ ttwwakeup(rc->rc_tp);
}
static void
OpenPOWER on IntegriCloud