--- jsr166/src/test/tck/JSR166TestCase.java 2010/10/28 17:57:26 1.66 +++ jsr166/src/test/tck/JSR166TestCase.java 2010/10/29 06:58:56 1.67 @@ -616,9 +616,14 @@ public class JSR166TestCase extends Test Thread.State s = thread.getState(); if (s == Thread.State.BLOCKED || s == Thread.State.WAITING || - s == Thread.State.TIMED_WAITING || - System.nanoTime() - t0 > timeoutNanos) + s == Thread.State.TIMED_WAITING) return; + else if (s == Thread.State.TERMINATED) + fail("Unexpected thread termination"); + else if (System.nanoTime() - t0 > timeoutNanos) { + threadAssertTrue(thread.isAlive()); + return; + } Thread.yield(); } }