On Mar 11, 2015, at 11:29 AM, Chris Hegarty <chris.hega...@oracle.com> wrote:
>> 
>> I still think that conflates the "OS says no" and the "Subtype of Process 
>> does not support the contract of ProcessHandle".
>> 
>> Process as designed feels kind of limited and we are stuck with that. 
>> ProcessHandle is then also limited by Process extending it. Thus my 
>> inclination is still for Process to not extend from ProcessHandle, let's 
>> keep then at a distance.
> 
> I think this design should work out cleaner. There can be just a single point 
> where UOE can be thrown, from toHandle().
> 
> My inclination, with this design, is to remove Process.getPid(), since the 
> pid can be retrieved from the handle. This should be possible since 
> Process.getPid() is @since 1.9.
> 
>> For arguments sake let's say we go with that approach:
>> 
>>   public abstract class Process {
> 
> can be removed, no?
>>     long getPID() throws USO { throw new USO; }
> 
> I think ProcessHandle needs a protected constructor, otherwise it cannot be 
> implemented outside of the platform. Or is this the intent? In which case 
> Process.getPid() may need to remain.

I tried to keep within certain constraints of Rodger's existing design and the 
existing methods (even if recently added). IIUC Roger wanted ProcessHandle 
impls to be under platform control.

Paul.

Reply via email to