RFR: 8000817: Reinstate accidentally removed sleep() from ProcessBuilder/Basic.java

Alan Bateman Alan.Bateman at oracle.com
Fri Oct 12 18:47:23 UTC 2012


On 12/10/2012 19:25, Martin Buchholz wrote:
> :
>
>
> Yeah, this kind of race is hard to eradicate.  The bug remains on Linux?
>
> Maybe we should throw away what we did and instead loop until we see 
> something like
>
> java.io.FileInputStream.readBytes(Native Method)
>
> in the read-ing thread's stack trace.
Yes, this one remains on Linux, and the original one that Rob fixed was 
in response to a couple of intermittent failures on Solaris.

Checking for readBytes should be better but it might still be fragile 
because there isn't any guarantee that the thread is in the read syscall 
(although the window should be a lot smaller). Although none of us like 
using sleep, this may be a case where we need a short sleep to improve 
our chances.

-Alan



More information about the core-libs-dev mailing list