RFR: 8354872: Clarify java.lang.Process resource cleanup
Jaikiran Pai
jpai at openjdk.org
Fri Jun 27 16:16:45 UTC 2025
On Fri, 27 Jun 2025 16:09:02 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:
>> Improve the documentation of Process use of system resources.
>>
>> Describe the implementation closing streams when no longer referenced.
>> Clarify the interactions between inputStream and inputReader and errorStream and errorReader.
>> Add advice and example using try-with-resources to open and close streams.
>> Recommend closing streams when no longer in use.
>
> src/java.base/share/classes/java/lang/Process.java line 202:
>
>> 200: *
>> 201: * @apiNote
>> 202: * Avoid using both {@link #getInputStream} and {@link #inputReader(Charset)}.
>
> The reworded sentence I think is still a bit confusing. In the new proposed form, it sounds like both these methods are to be avoided. I think the intention of this apiNote is to convey that they should not be invoked on the same Process instance. Would something like the following be clear and accurate:
>
>>
>> Either use {@link #getInputStream} or {@link #inputReader(Charset)} but not both on the same {@code Process}.
>> ...
Same comment about the new text on `getErrorStream()`
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25884#discussion_r2172364262
More information about the core-libs-dev
mailing list