On Mon, Apr 04, 2011 at 01:39:23PM -0500, Edward McGuire wrote: >When I type ahead in an uncustomized terminal window, I expect my >keyboard input to be queued until it is called for. When I press >Ctrl+C, I expect the queue to be flushed. Any keyboard input still >in the queue should be lost. > >The trouble I am having is that my keyboard input is preserved when >I press Ctrl+C. I can easily reproduce the problem with the >following keyboard input at a bash prompt: > > $ tail -f /dev/null [Enter] > [Enter] > [Enter] > [Enter] > [Ctrl+C] > >If the typeahead queue is flushed by the Ctrl+C, then a bash prompt >will appear. But if the queue is not flushed, then four bash prompts >will appear. In my case, four bash prompts appear. > >I have reproduced the problem in a Cygwin (cmd.exe) window, in a >mintty window, and in an xterm window. > >There is a termio mode bit, NOFLSH, which disables flush after >interrupt. If this bit were set, it would explain why I am having >the problem. But "stty -a" shows that this mode bit is not set. I >checked this bit before and after reproducing the problem. > >I was still able to reproduce the problem after setting and clearing >the NOFLSH bit with "stty noflsh; stty -noflsh". > >I have attached the output of "stty -a" below, along with the output >of "cygcheck -s -v -r" and of "cat /var/log/xwin/XWin.0.log". > >I have not found this problem mentioned on the Cygwin list. > >Where might I be going wrong? Is this a limitation of the Cygwin >termio?
Thanks for the testcase. This was a limitation of the Cygwin DLL but it should now be fixed in the latest snapshot: http://cygwin.com/snapshots/ -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple