fix console bug which loses console when delay on output
authorBill Joy <wnj@ucbvax.Berkeley.EDU>
Wed, 6 May 1981 12:52:38 +0000 (04:52 -0800)
committerBill Joy <wnj@ucbvax.Berkeley.EDU>
Wed, 6 May 1981 12:52:38 +0000 (04:52 -0800)
SCCS-vsn: sys/vax/vax/cons.c 4.9

usr/src/sys/vax/vax/cons.c

index e0efec1..2a31433 100644 (file)
@@ -1,4 +1,4 @@
-/*     cons.c  4.8     81/03/11        */
+/*     cons.c  4.9     81/05/05        */
 
 /*
  * Vax console driver and floppy interface
 
 /*
  * Vax console driver and floppy interface
@@ -162,18 +162,17 @@ register struct tty *tp;
                goto out;
        if (consdone == 0)
                return;
                goto out;
        if (consdone == 0)
                return;
-       if ((c=getc(&tp->t_outq)) >= 0) {
-               consdone = 0;
-               if (tp->t_flags&RAW)
-                       mtpr(TXDB, c&0xff);
-               else if (c<=0177)
-                       mtpr(TXDB, (c | (partab[c]&0200))&0xff);
-               else {
-                       timeout(ttrstrt, (caddr_t)tp, (c&0177));
-                       tp->t_state |= TIMEOUT;
-                       goto out;
-               }
+       c = getc(&tp->t_outq);
+       if (tp->t_flags&RAW)
+               mtpr(TXDB, c&0xff);
+       else if (c<=0177)
+               mtpr(TXDB, (c | (partab[c]&0200))&0xff);
+       else {
+               timeout(ttrstrt, (caddr_t)tp, (c&0177));
+               tp->t_state |= TIMEOUT;
+               goto out;
        }
        }
+       consdone = 0;
        tp->t_state |= BUSY;
     out:
        splx(s);
        tp->t_state |= BUSY;
     out:
        splx(s);