This is the mail archive of the
mailing list for the Cygwin project.
Re: Re: input delay issues
- From: Thomas Wolff <towo at towo dot net>
- To: cygwin at cygwin dot com
- Date: Wed, 04 Apr 2012 16:24:29 +0200
- Subject: Re: Re: input delay issues
- References: <1268678816.345581.1333548784781.JavaMail.firstname.lastname@example.org>
Christopher Faylor wrote:
On Tue, Apr 03, 2012 at 09:31:40PM +0200, Thomas Wolff wrote:I described:
>Am 02.04.2012 22:56, schrieb Christopher Faylor:
>>On Mon, Apr 02, 2012 at 09:46:51PM +0200, Thomas Wolff wrote:
>>>When input is typed-ahead, on a Unix or Linux systems it will be
>>>buffered and used as soon as an application looks for it. Try this: -
>>>Run a slow command (e.g. sleep 5) - Type "abc" while running On
>>>"abc" will be echoed on the screen (disturbing output if there is
>>>After the command terminates, the shell will look for input, find
>>>and redisplay it properly on the command line.
>>>In the cygwin console, "abc" remains invisible while the command is
>>>running, but it is redisplayed afterwards. In mintty, "abc" is echoed
>>>while typed-ahead, but is *not* read and echoed by the shell after the
>>>command terminates. Only after you then type another character, the
>>>whole command line is refreshed.
>>Yes. The console is a windows device and that's the way that Windows
>>works. Doing it anyway else would mean keeping a separate thread in
>>Cygwin and essentially adding back CYGWIN=tty, which we're obviously
>>not going to do.
>OK, so there is a clear background explaining the console behavior;
>however, I described it only for completeness and to compare, the
>actual problem is with mintty/xterm/urxvt: Input which is available is
>not being detected - this is likely to be a problem with select() or
>O_NONBLOCKed read() (whichever bash uses) or both.
You have asserted this several times but I don't believe you've
provided a test case.
- in mintty:
- start sleep 3
- quickly enter "abc"
- wait until sleep terminates
- look at prompt
- type "d"
Isn't that a test case?
I understand an automatic test case, preferably a few lines of C code,
may be easier to handle and analyze; maybe I'll find one. Meanwhile,
this "manual test case" stays available.
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple