On Wed, 1 Oct 2025 12:21:58 GMT, Jason Mehrens <[email protected]> wrote:
>> Roger Riggs has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Additional review feedback.
>> Updated to emphasize reading the data from the streams and calling waitFor
>> to allow for normal termination.
>
> src/java.base/share/classes/java/lang/Process.java line 205:
>
>> 203: * On some platforms, {@linkplain #supportsNormalTermination()
>> normal termination}
>> 204: * is not available and the process is forcibly terminated.
>> 205: * The {@linkplain #waitFor() waitFor} method SHOULD NOT be called
>> after
>
> Calling waitFor with a timeout is a must for escalation of process
> termination. E.G. TWR + finally waitFor with timeout. Then destroy with
> force. Optionally waitFor again if we need to know process is terminated.
>
> It is not waitFor that should not be used. It is the result of exitValue or
> waitFor may or may not be a normal value from the process after any destroy
> method.
@jmehrens I think I understand your point. Does this capture it:
* Calling {@linkplain #waitFor() waitFor} after
* {@linkplain #close() close} or after the try-with-resources block exits
* can verify that the process has been terminated.
* The status returned may be from normal termination or the result of
* {@link #destroy() destroying the process}.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/26649#discussion_r2394495843