On Mon, 2 Feb 2026 22:05:03 GMT, Naoto Sato <[email protected]> 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 incrementally with one additional
> commit since the last revision:
>
> Added @requires condition
src/java.base/share/classes/java/io/ProxyingConsole.java line 40:
> 38: */
> 39: @ValueBased
> 40: final class ProxyingConsole extends Console {
I am not familiar with `@ValueBased` and I just read up its documentation.
Based on what it says about constructors
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/doc-files/ValueBased.html#L48:
> the class does not declare (or has deprecated any) accessible constructors
since `ProxyingConsole` declares a `ProxyingConsole(JdkConsole delegate)`
constructor, does it still qualify as a `@ValueBased` class?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/29493#discussion_r2758406203