summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/syscons.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/i386/isa/syscons.c')
-rw-r--r--sys/i386/isa/syscons.c23
1 files changed, 5 insertions, 18 deletions
diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c
index 28e5433..c48d470 100644
--- a/sys/i386/isa/syscons.c
+++ b/sys/i386/isa/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.118 1995/06/14 05:16:12 bde Exp $
+ * $Id: syscons.c,v 1.119 1995/07/11 17:59:22 bde Exp $
*/
#include "sc.h"
@@ -1081,20 +1081,6 @@ set_mouse_pos:
}
void
-scxint(dev_t dev)
-{
- struct tty *tp = scdevtotty(dev);
-
- if (!tp)
- return;
- tp->t_state &= ~TS_BUSY;
- if (tp->t_line)
- (*linesw[tp->t_line].l_start)(tp);
- else
- scstart(tp);
-}
-
-void
scstart(struct tty *tp)
{
struct clist *rbp;
@@ -1102,18 +1088,19 @@ scstart(struct tty *tp)
u_char buf[PCBURST];
scr_stat *scp = get_scr_stat(tp->t_dev);
+ /* XXX who repeats the call when the above flags are cleared? */
if (scp->status & SLKED || blink_in_progress)
return;
s = spltty();
- if (!(tp->t_state & (TS_TIMEOUT|TS_BUSY|TS_TTSTOP))) {
+ if (!(tp->t_state & (TS_TIMEOUT | TS_BUSY | TS_TTSTOP))) {
tp->t_state |= TS_BUSY;
- splx(s);
rbp = &tp->t_outq;
while (rbp->c_cc) {
len = q_to_b(rbp, buf, PCBURST);
+ splx(s);
ansi_put(scp, buf, len);
+ s = spltty();
}
- s = spltty();
tp->t_state &= ~TS_BUSY;
if (rbp->c_cc <= tp->t_lowat) {
if (tp->t_state & TS_ASLEEP) {
OpenPOWER on IntegriCloud