On Mon, 13 Jan 2020 11:52:43 +0100
Rabbe Fogelholm wrote:
I am running a console Java program that is started from a shellscript
wrapper. Before invoking Java the wrapper calls `stty -cooked'. The Java
program polls the keyboard using System.in.available() and reads
characters immediately using System.in.read(), without waiting for the
Enter key to be pressed.
This way of combining `stty -cooked' and Java has stopped working since
version 3.1.1-1 of the Cygwin package. The Java thread that reads the
keyboard hangs until Enter is pressed, which is not desirable.
I had to downgrade to version 3.0.7-1 to resolve the problem.
Versioning information:
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
OS Name: Microsoft Windows 10 Pro
Version: 10.0.17763 Build 17763
System Type: x64-based PC
See also the enclosed cygcheck.out.
To demonstrate the issue I enclose a small Java program that should be
able to read single keystrokes when `stty -cooked' is in effect.
Does your java program work in command prompt? cygwin 3.1.x uses
pseudo console, so the native (non cygwin) program works as if it
is executed in command prompt.