RFR 9: 8077350 Process API Updates Implementation Review

Peter Levart peter.levart at gmail.com
Wed Apr 15 07:06:44 UTC 2015


Hi Roger,

On 04/14/2015 11:33 PM, Roger Riggs wrote:
> Hi Peter,
>
> Thanks for the review.
>
> On 4/14/2015 11:47 AM, Peter Levart wrote:
>>
>> On 04/09/2015 10:00 PM, Roger Riggs wrote:
>>> Please review the API and implementation of the Process API Updates
>>> described inJEP 102 
>>> <https://bugs.openjdk.java.net/browse/JDK-8046092>. Please review 
>>> and comment by April 23rd.
>>>
>>> The recommendation to make ProcessHandle an interface is included
>>> allowing the new functions to be extended by Process subclasses.
>>> The implementation covers all functions on Unix, Windows, Solaris, 
>>> and Mac OS X.
>>>
>>> The API doc: http://cr.openjdk.java.net/~rriggs/ph-apidraft/
>>>
>>> The webrev: http://cr.openjdk.java.net/~rriggs/webrev-ph
>>>
>>> Issue: JDK-8077350 
>>> <https://bugs.openjdk.java.net/browse/JDK-8077350> Process API 
>>> Updates Implementation
>>>
>>> The code is in the jdk9 sandbox on branch JDK-8046092-branch.
>>>
>>> Please review and comment, Roger
>>
>> Hi Roger,
>>
>> I have a few comments...
>>
>> ProcessHandle JNI interface is same for all platforms and it is 
>> reused in UNIX ProcessImpl for destroying and waiting. Is there some 
>> particular reason why it is not reused in Windows ProcessImpl too? 
>> The Windows impl still uses it's own native methods for destroying 
>> and waiting, but they take "process handles" instead of PIDs. Are 
>> handles less susceptible to recycling?
>>
>> I am confused by the method name "supportsDestroyForcibly" too. The 
>> following would be more intuitive in my opinion:
>>
>> - destroyIsForcible()
>> - isDestroyForcible()
> We're tried several variations including the word 'destroy' and it 
> still seems confusing.
> I suggested the supportsNormalTermination name in another thread.

Or:

- supportsGracefulTermination
- supportsGracefulDestroy
- supportsDestroyGracefully


Regards, Peter




More information about the core-libs-dev mailing list