6963841: java/util/concurrent/Phaser/Basic.java fails intermittently
Reviewed-by: dl, dholmes
This commit is contained in:
parent
f2364fbf5c
commit
60b713fd8d
@ -96,7 +96,7 @@ public class Basic {
|
||||
int phase = atTheStartingGate.getPhase();
|
||||
equal(phase, atTheStartingGate.arrive());
|
||||
int awaitPhase = atTheStartingGate.awaitAdvanceInterruptibly
|
||||
(phase, 10, SECONDS);
|
||||
(phase, 30, SECONDS);
|
||||
if (expectNextPhase) check(awaitPhase == (phase + 1));
|
||||
|
||||
pass();
|
||||
@ -188,7 +188,7 @@ public class Basic {
|
||||
case 2: case 6: case 7:
|
||||
return awaiter(phaser, -1, SECONDS);
|
||||
default:
|
||||
return awaiter(phaser, 10, SECONDS); }}
|
||||
return awaiter(phaser, 30, SECONDS); }}
|
||||
public void remove() {throw new UnsupportedOperationException();}};
|
||||
}
|
||||
|
||||
@ -204,7 +204,7 @@ public class Basic {
|
||||
case 2: case 5:
|
||||
return awaiter(phaser, -1, SECONDS);
|
||||
default:
|
||||
return awaiter(phaser, 10, SECONDS); }}
|
||||
return awaiter(phaser, 30, SECONDS); }}
|
||||
public void remove() {throw new UnsupportedOperationException();}};
|
||||
}
|
||||
|
||||
@ -251,9 +251,11 @@ public class Basic {
|
||||
int phase = phaser.getPhase();
|
||||
for (int i = 0; i < 4; i++) {
|
||||
check(phaser.getPhase() == phase);
|
||||
Awaiter a1 = awaiter(phaser, 10, SECONDS); a1.start();
|
||||
Awaiter a1 = awaiter(phaser, 30, SECONDS); a1.start();
|
||||
Arriver a2 = arrivers.next(); a2.start();
|
||||
toTheStartingGate();
|
||||
// allow a1 to block in awaitAdvanceInterruptibly
|
||||
Thread.sleep(2000);
|
||||
a1.interrupt();
|
||||
a1.join();
|
||||
phaser.arriveAndAwaitAdvance();
|
||||
|
Loading…
x
Reference in New Issue
Block a user