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

Reply via email to