RFR: 8000817: Reinstate accidentally removed sleep() from ProcessBuilder/Basic.java
Rob McKenna
rob.mckenna at oracle.com
Fri Oct 12 22:58:35 UTC 2012
The test passes. But as far as the race goes that may be a fluke. I'll
add the sleep to be on the safe side. Thanks Martin,
-Rob
On 12/10/12 23:20, Martin Buchholz wrote:
> Thanks, Rob.
>
> I'm OK with your webrev.02, and I'm OK with putting back a 10ms sleep,
> if you want to also do that. I'm not sure what happens on macosx or
> windows - you might want to think about that.
>
> Martin
>
> On Fri, Oct 12, 2012 at 1:18 PM, Rob McKenna <rob.mckenna at oracle.com
> <mailto:rob.mckenna at oracle.com>> wrote:
>
> Sorry for not responding sooner, I was out for the evening.
>
> I threw this fix into our test infrastructure (jprt) before I left
> though, and I see it has passed.
>
> http://cr.openjdk.java.net/~robm/8000817/webrev.02/
> <http://cr.openjdk.java.net/%7Erobm/8000817/webrev.02/>
>
> I'm a little unclear as to why you'd prefer to throw that away,
> can you elaborate?
>
> As ugly as a Thread.sleep(10) is, it hasn't historically been a
> problem on platforms other than Solaris. Perhaps this in
> combination with the stack hackery?
>
> Let me know either way and I'll get it integrated sharpish! Thanks,
>
> -Rob
>
>
>
> On 12/10/12 19:54, Martin Buchholz wrote:
>>
>>
>> On Fri, Oct 12, 2012 at 11:47 AM, Alan Bateman
>> <Alan.Bateman at oracle.com <mailto:Alan.Bateman at oracle.com>> wrote:
>>
>>
>> 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.
>>
>>
>> Yup.
>>
>> Sure would be nice if we could see native methods in the
>> stacktraces, kind of like this:
>>
>> java.lang.Thread.State: RUNNABLE
>> at (C/C++) __kernel_vsyscall( ())
>> at (C/C++) readBytes( (jre/lib/i386/libjava.so))
>> at (C/C++) Java_java_io_FileInputStream_readBytes(
>> (jre/lib/i386/libjava.so))
>> at java.io.FileInputStream.readBytes(Native Method)
>>
>
>
More information about the core-libs-dev
mailing list