452 |
|
Thread t = newStartedThread(new CheckedRunnable() { |
453 |
|
public void realRun() throws InterruptedException { |
454 |
|
for (int i = 0; i < SIZE; ++i) { |
455 |
< |
long t0 = System.nanoTime(); |
456 |
< |
assertEquals(i, (int) q.poll(LONG_DELAY_MS, MILLISECONDS)); |
457 |
< |
assertTrue(millisElapsedSince(t0) < SMALL_DELAY_MS); |
455 |
> |
long startTime = System.nanoTime(); |
456 |
> |
assertEquals(i, (int) q.poll(2*LONG_DELAY_MS, MILLISECONDS)); |
457 |
> |
assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); |
458 |
|
} |
459 |
< |
long t0 = System.nanoTime(); |
459 |
> |
long startTime = System.nanoTime(); |
460 |
|
aboutToWait.countDown(); |
461 |
|
try { |
462 |
< |
q.poll(MEDIUM_DELAY_MS, MILLISECONDS); |
462 |
> |
q.poll(2*LONG_DELAY_MS, MILLISECONDS); |
463 |
|
shouldThrow(); |
464 |
|
} catch (InterruptedException success) { |
465 |
< |
assertTrue(millisElapsedSince(t0) < MEDIUM_DELAY_MS); |
465 |
> |
assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); |
466 |
|
} |
467 |
|
}}); |
468 |
|
|
469 |
< |
aboutToWait.await(); |
470 |
< |
waitForThreadToEnterWaitState(t, SMALL_DELAY_MS); |
469 |
> |
await(aboutToWait); |
470 |
> |
waitForThreadToEnterWaitState(t, LONG_DELAY_MS); |
471 |
|
t.interrupt(); |
472 |
< |
awaitTermination(t, MEDIUM_DELAY_MS); |
472 |
> |
awaitTermination(t, LONG_DELAY_MS); |
473 |
|
checkEmpty(q); |
474 |
|
} |
475 |
|
|