select() fails on multi-byte input in cygwin console (since 1.7.10)
Corinna Vinschen
corinna-cygwin@cygwin.com
Tue Dec 9 11:19:00 GMT 2014
Hi Thomas,
On Dec 9 08:02, Thomas Wolff wrote:
> Calling select() to check whether input from the terminal is available
> fails for all but the first byte in the cygwin console if multiple bytes
> are entered at once, like function or cursor keys or non-ASCII UTF-8
> characters.
> Actually, the issue is volatile, sometimes it works for characters and
> most function keys.
> The problem most likely arises with the escape sequences mouse scroll
> and window focus out/in (both enabled by the test program).
> I tried to use read() with timeout instead, trying various combinations
> of tcsetattr setting VMIN/VTIME, fcntl setting O_NONBLOCK, using read()
> with buffer length 0, trying to interrupt read() with a timer signal, or
> even a combination of setitimer() and siglongjmp().
> None of this works.
Your STC creates 0s and 1s, and it looks quite normal to me with the
latest from CVS. Without a short description I don't know exactly what
to look out for. There are lots of 0s, and if I press a cursor key
I see three 1s, one for each char of the escape sequence.
Did you try the latest snapshot or the 1.7.34-002 test release? There's
a patch in there which fixes another problem with multibyte input and
VMIN:
https://cygwin.com/ml/cygwin-developers/2014-11/msg00000.html
If that doesn't help, would you mind trying to track this down? You're
familiar with Cygwin's console code so you might get a clue what's going
wrong.
Thanks,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20141209/35bde04f/attachment.sig>
More information about the Cygwin
mailing list