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