On Wed, 17 Jul 2024 18:31:32 GMT, Alan Bateman <al...@openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/Process.java line 504:
>> 
>>> 502:             return false;
>>> 503: 
>>> 504:         return waitForNanos(TimeUnit.NANOSECONDS.convert(duration));
>> 
>> `waitFor` can be overridden by pre-24 subclasses to provide a better 
>> implementation while `waitForNanos` couldn't. Is it reasonable for our 
>> default implementation to delegate to `waitFor(long, TimeUnit)` that 
>> existing user classes have better implementations for?
>
>> waitFor can be overridden by pre-24 subclasses to provide a better 
>> implementation while ...
> 
> It doesn't really make sense to extend Process, except maybe for mocking or 
> other testing. Process is really for JDK implementations, it's just 
> historical the constructor is public. Just saying that the compatibility 
> concerns with adding methods aren't significant here.

This method needs to be overridden in 
`test/lib/jdk/test/lib/process/ProcessTools.java` to call 
`ProcessTools.ProcessImpl::waitForStreams`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20220#discussion_r1681655114

Reply via email to