Looks good!

No need for the assignment to p, though.

/Staffan


On 25 sep 2014, at 12:39, Jaroslav Bachorik <jaroslav.bacho...@oracle.com> 
wrote:

> On 09/25/2014 12:33 PM, Staffan Larsen wrote:
>> 
>> On 25 sep 2014, at 12:24, Jaroslav Bachorik <jaroslav.bacho...@oracle.com> 
>> wrote:
>> 
>>> On 09/25/2014 12:13 PM, Staffan Larsen wrote:
>>>> I wonder if the p.waitFor() is needed? What if the process launching 
>>>> expired with a timeout and now we are still waiting for the process to end 
>>>> - wouldn’t that kind of defeat the timeout? In any case, the 
>>>> destroyForcibly() should end the process whether we wait for it or not.
>>> 
>>> It would be wonderful but the javadoc states that the result of 
>>> destroyForcibly() call depends on the implementation and may actually not 
>>> force close the process and one should use waitFor() to make sure that the 
>>> process has in fact died.
>> 
>> It also mentions that Processes returned by ProcessBuilder.start() will be 
>> terminated forcibly so we can rely on that. I don’t know how much it helps 
>> to wait for the process. If it wasn’t terminated, then we risk blocking 
>> forever here - still without having terminated the process.
>> 
>>> I wonder whether JTReg kills the process tree on timeout - in case it does 
>>> using waitFor() would guarantee that there would be no zombies left. 
>>> Without using waitFor() and semantics of destroyForcibly() there might be 
>>> situations when non-functional stuck processes are left behind (not sure 
>>> how probable, however).
>> 
>> JTreg currently has no process tree handling - there is work in progress to 
>> add it as it is clearly desirable.
> 
> Ok. These are valid reasons for not using waitFor() - 
> http://cr.openjdk.java.net/~jbachorik/8059034/webrev.01
> 
> -JB-
> 
>> 
>> /Staffan
>> 
>> 
>>> 
>>> -JB-
>>> 
>>>> 
>>>> /Staffan
>>>> 
>>>> 
>>>> On 25 sep 2014, at 11:54, Jaroslav Bachorik <jaroslav.bacho...@oracle.com> 
>>>> wrote:
>>>> 
>>>>> Please, review the following change to the JDK test library class
>>>>> 
>>>>> Issue : https://bugs.openjdk.java.net/browse/JDK-8059034
>>>>> Webrev: http://cr.openjdk.java.net/~jbachorik/8059034/webrev.00
>>>>> 
>>>>> Currently, the ProcessTools.startProcess() might leave a dangling process 
>>>>> behind when a timeout or interrupt happens. The solution is to try and 
>>>>> forcibly terminate the forked process when this happens.
>>>>> 
>>>>> Thanks,
>>>>> 
>>>>> -JB-

Reply via email to