On 11/11/2011 16:56, Gary Adams wrote:
CR 6860309 - TEST_BUG: Insufficient sleep time in java/lang/Runtime/exec/StreamsSurviveDestroy.java

A timing problem is reported for slow solaris systems for this
test to start up a process and systematically torture the underlying
threads processing data from the running process.

On my fast solaris machine I can not reproduce the error,
but it is reasonable to assume that on a slower machine there
could be scheduling issues that could delay the thread startup
past the designated 100 millisecond delay in the main thread.

This webrev suggests gating the process destruction until both
worker threads are alive.

  http://cr.openjdk.java.net/~gadams/6860309/


-Xcomp on a slow machine, always fun when testing the untestable.

I agree with David but I don't think there is perfect solution. I would suggest using a CountDownLatch or other synchronization so that the main thread waits until the Copier thread is just about to do the read. Then do a sleep in the main thread before invoking the destroy method. I suspect that is the best that you can do as can't be guaranteed that the Copier thread is blocked in the underlying read.

-Alan.

Reply via email to