Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!pyramid!voder!jeff From: jeff@voder.UUCP (Jeff Gilliam) Newsgroups: comp.bugs.4bsd Subject: cnputc() doesn't handle ^S/^Q +FIX Message-ID: <2720@voder.UUCP> Date: Fri, 14-Nov-86 03:26:58 EST Article-I.D.: voder.2720 Posted: Fri Nov 14 03:26:58 1986 Date-Received: Fri, 14-Nov-86 06:10:15 EST Organization: National Semiconductor, Santa Clara Lines: 34 Index: sys/vax/cons.c 4.3BSD Description: When booting a VAX may appear to hang between the last autoconfiguration message and going multi-user. Typing any character at the console unhangs the system. Repeat-By: Use a slow console and configure lots of devices. Or, type a ^S followed by a ^Q on the console while booting. Fix: Fix cnputc() to honor flow control. RCS file: RCS/cons.c,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** /tmp/,RCSt1002397 Fri Nov 14 00:13:41 1986 --- /tmp/,RCSt2002397 Fri Nov 14 00:13:42 1986 *************** *** 192,197 **** --- 188,197 ---- { register int s, timo; + if (mfpr(RXCS)&RXCS_DONE && (mfpr(RXDB)&0177) == CTRL(S)) + while ((mfpr(RXCS)&RXCS_DONE) == 0 || + (mfpr(RXDB)&0177) != CTRL(Q)) + ; timo = 30000; /* * Try waiting for the console tty to come ready, -- Jeff Gilliam {ucbvax,pyramid,nsc}!voder!jeff