523 |
|
}}); |
524 |
|
|
525 |
|
await(pleaseArrive); |
526 |
< |
waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); |
526 |
> |
waitForThreadToEnterWaitState(t); |
527 |
|
assertEquals(0, phaser.arrive()); |
528 |
|
awaitTermination(t); |
529 |
|
|
551 |
|
}}); |
552 |
|
|
553 |
|
await(pleaseArrive); |
554 |
< |
waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); |
554 |
> |
waitForThreadToEnterWaitState(t); |
555 |
|
t.interrupt(); |
556 |
|
assertEquals(0, phaser.arrive()); |
557 |
|
awaitTermination(t); |
567 |
|
public void testArriveAndAwaitAdvanceAfterInterrupt() { |
568 |
|
final Phaser phaser = new Phaser(); |
569 |
|
assertEquals(0, phaser.register()); |
570 |
< |
final CountDownLatch pleaseInterrupt = new CountDownLatch(1); |
570 |
> |
final CountDownLatch pleaseArrive = new CountDownLatch(1); |
571 |
|
|
572 |
|
Thread t = newStartedThread(new CheckedRunnable() { |
573 |
|
public void realRun() { |
574 |
|
Thread.currentThread().interrupt(); |
575 |
|
assertEquals(0, phaser.register()); |
576 |
< |
pleaseInterrupt.countDown(); |
576 |
> |
pleaseArrive.countDown(); |
577 |
|
assertTrue(Thread.currentThread().isInterrupted()); |
578 |
|
assertEquals(1, phaser.arriveAndAwaitAdvance()); |
579 |
< |
assertTrue(Thread.currentThread().isInterrupted()); |
579 |
> |
assertTrue(Thread.interrupted()); |
580 |
|
}}); |
581 |
|
|
582 |
< |
await(pleaseInterrupt); |
583 |
< |
waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); |
582 |
> |
await(pleaseArrive); |
583 |
> |
waitForThreadToEnterWaitState(t); |
584 |
|
Thread.currentThread().interrupt(); |
585 |
|
assertEquals(1, phaser.arriveAndAwaitAdvance()); |
586 |
|
assertTrue(Thread.interrupted()); |
601 |
|
assertFalse(Thread.currentThread().isInterrupted()); |
602 |
|
pleaseInterrupt.countDown(); |
603 |
|
assertEquals(1, phaser.arriveAndAwaitAdvance()); |
604 |
< |
assertTrue(Thread.currentThread().isInterrupted()); |
604 |
> |
assertTrue(Thread.interrupted()); |
605 |
|
}}); |
606 |
|
|
607 |
|
await(pleaseInterrupt); |
608 |
< |
waitForThreadToEnterWaitState(t, SHORT_DELAY_MS); |
608 |
> |
waitForThreadToEnterWaitState(t); |
609 |
|
t.interrupt(); |
610 |
|
Thread.currentThread().interrupt(); |
611 |
|
assertEquals(1, phaser.arriveAndAwaitAdvance()); |
780 |
|
assertEquals(THREADS, phaser.getArrivedParties()); |
781 |
|
assertTrue(millisElapsedSince(startTime) < LONG_DELAY_MS); |
782 |
|
for (Thread thread : threads) |
783 |
< |
waitForThreadToEnterWaitState(thread, SHORT_DELAY_MS); |
783 |
> |
waitForThreadToEnterWaitState(thread); |
784 |
|
for (Thread thread : threads) |
785 |
|
assertTrue(thread.isAlive()); |
786 |
|
assertState(phaser, 0, THREADS + 1, 1); |