gnb@bby.oz.au (Gregory N. Bond) (02/13/90)
An obscure bug in bash, 1.04, Sun 3/80/SunOs4.0.3/Sun cc. If you run a program that does output, and use ^S to stop scrolling, then if the program exits before you start scrolling (by writing the last characters to the terminal and exiting), then the screen hangs. You can't send a ^Q to the terminal driver to start scrolling because bash has reset the terminal modes, and interrupts etc are ignores. The only way out is to fire up another window and kill the bash process. I can do this quite reliably by typeing ^s while running the doit.bin script from Cnews installation. The fix would seem to be for bash to wait until all pending output is flushed before changing to the cbreak mode. After the hang: leo## sps vt p3 Ty User Status Fl Nice Virt Res %M Time Child %C Proc# Command p3.gnb RTTYP3 128 656 2 2.1+ 6.1 0 22986 bash 97 (39600k) processes, 6 (392k) busy, 95 (22992k) loaded, 2 (504k) swapped leo## stty -a > /dev/ttyp3 speed 9600 baud, 34 rows, 80 columns -parenb -parodd cs8 -cstopb -hupcl cread -clocal -crtscts -ignbrk brkint ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -iuclc -ixon -ixany -ixoff imaxbel isig -icanon -xcase -echo echoe echok -echonl -noflsh -tostop echoctl -echoprt echoke opost -olcuc onlcr -ocrnl -onocr -onlret -ofill -ofdel -tabs min 1, time 0 erase kill werase rprnt flush lnext susp intr quit stop eof ^? ^U ^W ^R ^O ^Z ^C ^\ leo## -- Gregory Bond, Burdett Buckeridge & Young Ltd, Melbourne, Australia Internet: gnb@melba.bby.oz.au non-MX: gnb%melba.bby.oz@uunet.uu.net Uucp: {uunet,pyramid,ubc-cs,ukc,mcvax,prlb2,nttlab...}!munnari!melba.bby.oz!gnb