diff options
author | bde <bde@FreeBSD.org> | 1995-07-29 04:05:57 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1995-07-29 04:05:57 +0000 |
commit | fc1f58e6bbb8b5f01b0e63dbc29d6f8ce797f3b6 (patch) | |
tree | 83ebf6956051d1ef9894f27f80de68e1034d8f96 /sys/i386/isa/rc.c | |
parent | 74ba692f9541a63e7a4a98df507d39a8b5811768 (diff) | |
download | FreeBSD-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/i386/isa/rc.c')
-rw-r--r-- | sys/i386/isa/rc.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/i386/isa/rc.c b/sys/i386/isa/rc.c index 07e0264..e496a48 100644 --- a/sys/i386/isa/rc.c +++ b/sys/i386/isa/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 |