Process trees and termination (original) (raw)
Stuart Marks stuart.marks at oracle.com
Thu Jun 26 21:40:24 UTC 2014
- Previous message: Process trees and termination
- Next message: Process trees and termination
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 6/26/14 7:23 AM, roger riggs wrote:
On 6/26/2014 4:55 AM, Peter Levart wrote:
- Will there be a guarantee that ProcessHandle objects returned from factory methods: [...] representing those processes that were started by ProcessBuilder API are actually the same Process objects that were returned from the ProcessBuilder API?
The initial design does not have them returning Process instances. Process instances are capabilities and their reference accessibility is currently controlled by the code that created the Process. If ProcessHandle gave out those Process instances it would break existing encapsulation.
Hi Roger,
This is an interesting point about the undesirability of leaking Process instances. I initially thought the relationship between ProcessHandle and Process objects would be unspecified, and possibly left to the implementation. But based on your comments, it sounds like the PH factories are prohibited from returning any instances of Process. Thus we'd have:
Process proc = new ProcessBuilder(...).start();
ProcessHandle ph = ProcessHandle.of(proc.getPid());
assert !(ph instanceof Process);
It seems like it would be good idea to add this restriction to the specification.
s'marks
- Previous message: Process trees and termination
- Next message: Process trees and termination
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]