RFR: 8340830: Console.readLine() and Console.printf() are mutually blocking [v4]
Volkan Yazici
vyazici at openjdk.org
Mon Feb 2 21:48:37 UTC 2026
On Mon, 2 Feb 2026 20:56:17 GMT, Naoto Sato <naoto at openjdk.org> wrote:
>> Fixing an issue in Console where write is blocked if other thread is waiting to read, which is caused by unnecessary read/write locks. Removing those would solve the problem, as the read/write synchronization is performed at the StreamEn/Decoder level. One unrelated change is to refactor double-checked locking with LazyConstant.
>
> Naoto Sato has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>
> - added jline test run
> - Merge branch 'master' into JDK-8340830-Console-readLine-printf-mutually-blocking
> - Fixed indentation
> - Made ProxyingConsole value-based, used anonymous class for LazyConstant
> - Refine exceptions
> - initial commit
@naotoj, I see we removed synchronization from two classes, and introduced tests to verify that nothing blocks anymore. Do we also have tests to verify that synchronization is not broken? If not, do we need to add them?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/29493#issuecomment-3837538229
More information about the core-libs-dev
mailing list