RFR: 8340830: Console.readLine() and Console.printf() are mutually blocking [v6]

Naoto Sato naoto at openjdk.org
Tue Feb 3 17:44:15 UTC 2026


On Tue, 3 Feb 2026 17:36:16 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 nine additional commits since the last revision:
> 
>  - Reflects Jai's review comments
>  - Merge branch 'master' into JDK-8340830-Console-readLine-printf-mutually-blocking
>  - Added @requires condition
>  - 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

Thanks, Jai. I addressed your points in the new commit.

-------------

PR Review: https://git.openjdk.org/jdk/pull/29493#pullrequestreview-3746621999


More information about the core-libs-dev mailing list